gpt4 book ai didi

python - 如何在 pandas groupby 中包含零交叉项?

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:27 26 4
gpt4 key购买 nike

如何将 pandas groupby 结果——包括零交叉项——输出到 csv 文件。

正是我正在寻找的玩具示例:

我有一个 pandas 数据框,可以近似为:

df = pd.DataFrame(np.random.choice(['A', 'B', 'C'], (10, 2)), 
columns=['one', 'two'])

这给了我以下内容:

   one  two
0 C C
1 C A
2 A B
3 B A
4 B C
5 B B
6 C C
7 A C
8 C B
9 C C

当我运行 groupby 时,它按预期工作:

grouped = df.groupby(['one', 'two']).size()
grouped

one two
A B 1
C 1
B A 1
B 1
C 1
C A 1
B 1
C 3
dtype: int64

但是,我希望包含“A A 0”一词,因为我将其写入 csv 文件:

grouped.to_csv("test1.csv", header=True)

!cat test1.csv

one,two,0
A,B,1
A,C,1
B,A,1
B,B,1
B,C,1
C,A,1
C,B,1
C,C,3

我希望文件包含以下行:A,A,0

最佳答案

你可以用 unstack 来做到这一点:

grouped.unstack('two').fillna(0).stack()

例如,它给出以下输出:

one  two
A A 2
B 1
C 1
B A 0
B 1
C 3
C A 2
B 0
C 0

关于python - 如何在 pandas groupby 中包含零交叉项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30063063/

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