我从SAP HANA SQL获得了这段代码,我需要将它转换为熊猫。 熊猫可能吗?因为我还没有找到任何这种情况的例子。 这是一个虚拟代码,所以请略过缩进和命名约定部分。在pandas中使用groupby计算聚合数据
select distinct
"A","B","C","D",
to_nvarchar(sum(to_decimal("Column2"))/TO_DECIMAL(max("Column3"))) as "Column2" ,to_nvarchar(min(to_date("Date",'YYYYMMDD')),'YYYYMMDD') as "Date",
from :Var1
group by
"A","B","C","D";
我想:
df4["Column2"]=df4.Column2.astype(int)
df4["Column2"]=df4["Column2"]/df4["Column3"].groupby(["A","B","C","D"]).agg({'
Column2': 'sum','Column3':'max'}).reset_index()
df5=df4[["A","B","C","D","Column3"]]
我得到KeyError异常 “A”
INPUT TABLE:
A B C D Column2 Column3 date
BOE MT1 TYPE1 50000 45 5 20111231
BOE MT1 TYPE1 50000 35 1 20101201
BOE MT1 TYPE1 50001 85 5 20110721
BOE MT1 TYPE4 50000 25 5 20110718
BOE MT1 TYPE4 50001 90 5 20111212
A B C D Column2 date
BOE MT1 TYPE1 50000 16 <-(45+35)/5 20101201
BOE MT1 TYPE1 50001 17 <-85/5 20110721
BOE MT1 TYPE4 50000 5 <-25/5 20110718
BOE MT1 TYPE4 50001 18 <- 90/5 20111212
是的,这可能。文档中有足够的示例可帮助您开始:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.DataFrameGroupBy.agg.html – MedAli
正常最小,最大,总和可以找到2列的最大/总和并将它们分开,我们如何执行 – SWATKAT
来划分两列df [“C”] = df [“A”]。div(df [“B”])或df [“C”] = df [“A”]/df [“B”] – MedAli