根据熊猫中的另一列计算一列的平均值

我有一个大的 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)

会感谢任何帮助,因为我已经为此苦苦挣扎了一段时间。谢谢你。


繁花如伊
浏览 95回答 1
1回答

当年话下

将方法的输出分配groupby给变量,例如这里df1:df = pd.read_csv('myfile.csv')#solution with renamed new columndf1 = 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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python