【发布时间】:2021-11-19 19:08:13
【问题描述】:
为了使我的代码更快,我想从 Excel 输入切换到 CSV 输入数据。首先,我创建了两个完全相同的 df。
demand_data = pd.ExcelFile("Input Data\Historical Demand.xlsx")
FY20 = pd.read_excel(demand_data, 'Data FY20')
FY20b = pd.read_csv("Input Data\Historical Demand FY20.csv")
生成的 df 是: Based on ExcelBased on CSV
接下来,我想使用 pandas groupby 将我的 df 按某些列分组,并对某些列求和。我使用以下代码:
FY20 = FY20.groupby(['SKU', 'Material', 'Plant'])[["OrderQuantity","DeliveredQuantity"]].sum().reset_index()
FY20b = FY20b.groupby(['SKU', 'Material', 'Plant'])[["OrderQuantity","DeliveredQuantity"]].sum().reset_index()
这是结果: Result based on Excel DFResult based on CSV DF
这对我来说没有任何意义,因为两个数据帧完全相同,但结果却不是。如何从基于 CSV 的数据帧中获得相同的 groupby 结果?
【问题讨论】:
-
您好,欢迎您。如果您可以查看how-to-ask,然后尝试生成mcve,那就太好了。
标签: python pandas dataframe csv pandas-groupby