按周和 ID 分组,取平均值,再次按周分组并绘图
Grouping by week and ID, averaging, Grouping by week again and plotting
我有一个名为 "labelled_data" 的熊猫推文数据框,其中包括 'tweep_username'、'tweetcreated_at'(时间)和 'label'
我想按 'tweep_username' 和 'tweetcreated_at'(按周)对它们进行分组,然后取 'labels' 的平均值。然后我想采用这些获得的方法并将它们按 'tweetcreated_at'(按周)分组,然后从中绘制一个连续的频率分布。
意思是我想在第一部分获得的 'labels' 的平均值上有单独的频率分布,每周
我试过这个代码:
labelled_data['tweetcreated_at'] = pd.to_datetime(labelled_data['tweetcreated_at'], errors='coerce')
s=labelled_data.groupby(['tweep_username',pd.Grouper(key='tweetcreated_at', freq='W')])['label'].mean()..set_index('tweetcreated_at').resample('W')
plt.hist(s)
plt.show()
并收到以下错误:
'Series' object has no attribute 'toordinal'
也许你可以试试这个:
labelled_data['tweetcreated_at'] = pd.to_datetime(labelled_data['tweetcreated_at'],
errors='coerce')
labelled_data = labelled_data.set_index('tweetcreated_at')
s = labelled_data.groupby(['tweep_username','tweetcreated_at']).label.resample('W').mean()
plt.hist(s)
plt.show()
我是这样解决的:
labelled_data.groupby(['tweep_username',pd.Grouper(key='tweetcreated_at', freq='W')])['label'].mean().reset_index().groupby('tweetcreated_at')['label'].plot(kind='density', legend=True)
我有一个名为 "labelled_data" 的熊猫推文数据框,其中包括 'tweep_username'、'tweetcreated_at'(时间)和 'label'
我想按 'tweep_username' 和 'tweetcreated_at'(按周)对它们进行分组,然后取 'labels' 的平均值。然后我想采用这些获得的方法并将它们按 'tweetcreated_at'(按周)分组,然后从中绘制一个连续的频率分布。
意思是我想在第一部分获得的 'labels' 的平均值上有单独的频率分布,每周
我试过这个代码:
labelled_data['tweetcreated_at'] = pd.to_datetime(labelled_data['tweetcreated_at'], errors='coerce')
s=labelled_data.groupby(['tweep_username',pd.Grouper(key='tweetcreated_at', freq='W')])['label'].mean()..set_index('tweetcreated_at').resample('W')
plt.hist(s)
plt.show()
并收到以下错误:
'Series' object has no attribute 'toordinal'
也许你可以试试这个:
labelled_data['tweetcreated_at'] = pd.to_datetime(labelled_data['tweetcreated_at'],
errors='coerce')
labelled_data = labelled_data.set_index('tweetcreated_at')
s = labelled_data.groupby(['tweep_username','tweetcreated_at']).label.resample('W').mean()
plt.hist(s)
plt.show()
我是这样解决的:
labelled_data.groupby(['tweep_username',pd.Grouper(key='tweetcreated_at', freq='W')])['label'].mean().reset_index().groupby('tweetcreated_at')['label'].plot(kind='density', legend=True)