我有一个df,需要进行计算。 volume.shift(1)+增加的音量-音量=总音量 当我只有一个产品ID时,这对我有用 现在,我想将其应用于具有多个产品ID的DF。 另外,完成后,我需要生成一个csv。 我尝试了一个小组,但计算似乎没有加起来 而且我无法输出csv。我收到此错误:
Cannot access callable attribute 'to_csv' of 'DataFrameGroupBy' objects, try using the 'apply' method
当我有一个产品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。
Cannot access callable attribute 'to_csv' of 'DataFrameGroupBy' objects, try using the 'apply' method
答案 0 :(得分:2)
我将更新原始数据框并保存:
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")