gpt4 book ai didi

python - Pandas 选择聚合后要保存的列

转载 作者:行者123 更新时间:2023-11-28 21:22:16 24 4
gpt4 key购买 nike

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

此代码无效:

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')

我必须这样做:

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

最佳答案

您既没有发布您尝试过但不起作用的代码,也没有发布错误消息的完整回溯,因此我们不得不猜测问题出在哪里。 (“目前它给我错误”不是很有用。)我假设你尝试过类似的东西

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

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

agg = grouped.mean().reset_index()

例子:

>>> 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

关于python - Pandas 选择聚合后要保存的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19564444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com