我有一个很大的csv文件,其中的示例如下所示(2列多行)
date score
1/1/16 0
2/1/16 0
3/1/16 0.2732
3/1/16 -0.6486
4/1/16 0
5/1/16 0.4404
5/1/16 -0.2732
6/1/16 -0.5859
6/1/16 0.34您可以看到,示例中有多个相同的日期,但得分不同(与原始文件相同,其中有数百个相同的日期,得分相同)。我想按日期平均分数,然后将其保存为csv格式。预期的结果应该是这样的(对于每个日期,一个平均分数)
date Avg_Score
1/1/16 0
2/1/16 0
3/1/16 -0.1877
4/1/16 0
5/1/16 0.0836
6/1/16 -0.12295如何在Python中的Pandas模块中完成此操作?我检查了stackoverflow中的建议,我只找到了loc、iloc和groupby。但我不能使它们有用,我猜,因为这是我已经尝试过的,仍然得到与我的原始文件相同的文件(没有什么变化)。不知道为什么它不工作,以及如何让它工作。
import pandas as pd
import csv
df = pd.read_csv('myfile.csv')
df.groupby('date').mean().reset_index()
df.to_csv('average.csv', encoding='utf-8', index=False)我已经为此挣扎了一段时间了。谢谢。
发布于 2020-01-28 15:20:16
将groupby方法的输出返回赋值给变量,例如here 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)https://stackoverflow.com/questions/59943801
复制相似问题