pandas选择聚合后要保存的列

2024-03-28 16:22:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读取数据并计算组的平均值,然后将数据保存到其他文件中。问题是我只想选择一些列写入该文件,目前它给了我错误,所以我必须将所有列保存到该文件,然后重新打开,选择列并再次写入。

此代码不起作用:

df = pd.read_csv("./file.csv")
grouped = df.groupby(['Condition','ID','BeginEnd'])
agg = grouped.mean()
agg = agg[['Condition','ID','BeginEnd3','KnowledgeScore']]
agg.to_csv('file2.csv')

我必须这样做:

^{pr2}$

Tags: 文件csv数据代码iddfread错误
1条回答
网友
1楼 · 发布于 2024-03-28 16:22:35

你既没有发布你尝试的代码,也没有发布错误消息的完整回溯,所以我们只能猜测问题出在哪里。(“目前它给我错误”不是很有用。)我假设你尝试过类似的方法

agg = agg[['Condition','ID','BeginEnd3','KnowledgeScore']]

这样做是行不通的,因为分组之后,分组的列将成为索引的一部分(print agg.index)而不是列(print agg.columns)。您可以使用reset_index再次将它们提升为列:

^{pr2}$

示例:

>>> df
   A  B  C
0  0  2  6
1  0  2  7
2  1  3  8
3  1  4  9
>>> grouped = df.groupby(["A", "B"])
>>> agg = grouped.mean()
>>> agg
       C
A B     
0 2  6.5
1 3  8.0
  4  9.0
>>> agg = agg.reset_index()
>>> agg
   A  B    C
0  0  2  6.5
1  1  3  8.0
2  1  4  9.0

相关问题 更多 >