当我使用 pandas.groupby 时,我收到"类型错误::'type'对象不可迭代"



我有一个csv文件,其中包含用户20天的社交媒体活动值。我想获得第一天用户活动的详细信息我确实是通过使用这段代码得到的

df['d'] = pd.to_datetime(df['date_time'], format='(%Y,%m,%d,%H,%M,%S)')
day1 = df['d'].dt.date[0]
df = df[df['d'].dt.date.eq(day1)] 
df = df.melt(['date_time','d']) 
df = df[df['value'].eq('Y')] 

d = df.groupby('variable')['date_time'].agg(list).to_dict()
for x,y in d.items():
print(x,y) 

当我把它打印出来时,我在谷歌Colab笔记本上得到了什么

Instagram [Timestamp('2020-08-23 04:19:05.637617'), Timestamp('2020-08-23 04:20:07.351783'), Timestamp('2020-08-23 04:21:09.069061')]
Facebook [Timestamp('2020-08-23 04:44:49.635657'), Timestamp('2020-08-23 04:45:51.402162'), Timestamp('2020-08-23 05:01:18.989306')]

现在,当我在我的终端上运行相同的程序时,在将其保存为python文件后,我得到了这个错误

Traceback (most recent call last):
File "example.py", line 43, in <module>
d=df.groupby('variable')['date_time'].agg(list).to_dict()
TypeError: 'type' object is not iterable

编辑:

熊猫版本有问题,所以熊猫0.22需要更改:

d=df.groupby('variable')['date_time'].agg(list).to_dict()

至:

d=df.groupby('variable')['date_time'].apply(list).to_dict()

相关内容

最新更新