ibis

 import ibis

import pandas as pd
from ibis import _
import ibis.selectors as s
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
ibis.options.interactive = True

# con = ibis.duckdb.connect("/mnt/d/xg.db")

con = ibis.connect("duckdb:///mnt/d/duckdb.db")

# con.drop_table("XG")

con.list_tables()

table3=con.table("table3")
table4=con.table("table4")
table5=con.table("table5")
table6=con.table("table6")

(
    table6
    .group_by('YM_PH')
    .aggregate(n=_.count())
)

(
    table5
    .filter(_.YM_PH.isnull())
    .count()
)

table6.columns
table3.schema

table3=(
    table3.drop('AAA')
)

table4=(
    table4.drop('AAA')
)

table5=(table5.drop(['column00','AAA']))

table6=(table5.drop('column00','AAA'))

table=(table3.union(table4).union(table5).union(table6))

(
    table
    .count()
)

con.create_table('table',table)

print(table3.schema())
print(table4.schema())
print(table5.schema())
print(table6.schema())

print(ibis.__version__)

def load_excel(excel_path):
    try:
        # 读取Excel文件
        df = pd.read_excel(excel_path)
       
        # 将所有object类型的列转换为字符串
        for col in df.select_dtypes(include=['object']).columns:
            df[col] = df[col].astype(str)
       
        # 转换为Ibis表格
        ibis_table = ibis.memtable(df)
        return ibis_table
   
    except Exception as e:
        print(f"错误: {str(e)}")
        return None

jg = (
    load_excel('/mnt/c/Users/xuefliang/Downloads/疫苗批号价格.xlsx')
    .select(['疫苗批号','价格'])
    .distinct()
)



table=(
    table
    .asof_join(jg,on=('YM_PH','疫苗批号'))
)

(
    table
    .filter('价格'==90)
    .count()
)

(
    table3
    .filter('SCCJ_MC'=='02')
    .count()
)

评论

此博客中的热门博文

V2ray websocket(ws)+tls+nginx分流

Rstudio 使用代理