使用Group by并创建CSV

2024-04-19 20:37:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框需要计算。 音量.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")

我想做的是做总体积计算,但只有当产品ID匹配。我正试着打电话给groupby。你知道吗

我最大的问题是在调用groupby之后创建csv。你知道吗

Cannot access callable attribute 'to_csv' of 'DataFrameGroupBy' objects, try using the 'apply' method


Tags: ofcsvtoiddfshiftaccess产品
1条回答
网友
1楼 · 发布于 2024-04-19 20:37:15

我将更新原始数据帧并保存它:

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")

相关问题 更多 >