我有一个大的 csv 文件,其中的示例如下所示(2 列和多行)date score1/1/16 02/1/16 03/1/16 0.27323/1/16 -0.64864/1/16 05/1/16 0.44045/1/16 -0.27326/1/16 -0.58596/1/16 0.34您可以看到样本中有多个相同的日期具有不同的分数(与原始文件相同,其中有数百个相同的日期具有分数)。我想按日期平均分数,然后将其保存为 csv 格式。预期结果应如下所示(对于每个日期一个平均分数)date Avg_Score1/1/16 02/1/16 03/1/16 -0.18774/1/16 05/1/16 0.08366/1/16 -0.12295如何在 Python 的 Pandas 模块中执行此操作?我检查了 stackoverflow 的建议,我发现了 loc、iloc 和 groupby。但是我想我无法使它们有用,因为这是我尝试过的,并且仍然获得与原始文件相同的文件(没有任何变化)。不知道为什么它不工作以及如何让它工作。import pandas as pdimport csvdf = pd.read_csv('myfile.csv')df.groupby('date').mean().reset_index()df.to_csv('average.csv', encoding='utf-8', index=False)会感谢任何帮助,因为我已经为此苦苦挣扎了一段时间。谢谢你。
1 回答
当年话下
TA贡献1890条经验 获得超9个赞
将方法的输出分配groupby给变量,例如这里df1:
df = pd.read_csv('myfile.csv')
#solution with renamed new column
df1 = df.groupby('date')['score'].mean().reset_index(name='Avg_Score')
#your solution
#df1 = df.groupby('date').mean().reset_index()
df1.to_csv('average.csv', encoding='utf-8', index=False)
添加回答
举报
0/150
提交
取消