我有一个 df,我需要在其中进行计算。 volume.shift(1) + 添加体积 - 体积 = 总体积 当我只有一个产品 ID 时,这对我有用 现在我想在具有多个产品 ID 的 df 上应用它。 另外,我需要在完成后生成一个 csv。 我尝试了一个 group by 但计算似乎没有加起来 而且我无法输出 csv。我收到此错误:
无法访问“DataFrameGroupBy”对象的可调用属性“to_csv”,请尝试使用“apply”方法
当我有一个产品 ID 时,此代码会进行正确的计算:
df['TOTAL_VOLUME'] = df['VOLUME'].shift(-1) + df['ADDED_VOLUME'] - df['VOLUME']
df = data.groupby('PRODUCT_ID')
df['TOTAL_VOLUME'] = df['VOLUME'].shift(-1) + df['ADDED_VOLUME'] - df['VOLUME']
df.to_csv(r"C:\Desktop\total volume.csv")
我想做的是计算总体积,但前提是 PRODUCT_ID 匹配。我正在尝试通过调用 group by 来做到这一点。
我最大的问题是在调用 group by 之后创建一个 csv。
无法访问“DataFrameGroupBy”对象的可调用属性“to_csv”,请尝试使用“apply”方法
最佳答案
我会更新原始数据框并将其保存:
data['shifted_volumn'] = data.groupby('PRODUCT_ID')['VOLUME'].shift()
data['TOTAL_VOLUME'] = data['shifted_volumn'] + data['ADDED_VOLUME'] - data['VOLUME']
data.to_csv(r"C:\Desktop\total volume.csv")
关于python - 使用分组依据并创建 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56262009/