gpt4 book ai didi

Python-我想使用 pandas 将第二行的列移动到第一行的列

转载 作者:行者123 更新时间:2023-11-30 22:38:19 26 4
gpt4 key购买 nike

我有这样的 csv 数据

column1 column2 
A 12
A 13
B 15
B 16
C 12
C 14

我想通过创建另一个第 3 列来合并第 1 列中具有相同值的行,或者像这样转置

column1 column2 column3
A 12 13
B 15 16
C 12 14

我正在使用 pandas,并且可能想为此运行一些循环。

最佳答案

使用groupbycumcount来设置索引,然后unstack

c = 'column1'
s = df.set_index([c, df.groupby(c).cumcount() + 2]).column2
s.unstack().add_prefix('column').reset_index()

column1 column2 column3
0 A 12 13
1 B 15 16
2 C 12 14
<小时/>

如果组数量不均匀,这也可以处理。

考虑df

column1 column2 
A 12
A 13
B 15
B 16
B 16
C 12
C 14
C 14
C 14

然后

c = 'column1'
s = df.set_index([c, df.groupby(c).cumcount() + 2]).column2
s.unstack().add_prefix('column').reset_index()

column1 column2 column3 column4 column5
0 A 12.0 13.0 NaN NaN
1 B 15.0 16.0 16.0 NaN
2 C 12.0 14.0 14.0 14.0
<小时/>

如果您想提前填充这些 NaN,请在 unstack 中使用 fill_value 参数

c = 'column1'
s = df.set_index([c, df.groupby(c).cumcount() + 2]).column2
s.unstack(fill_value=0).add_prefix('column').reset_index()


column1 column2 column3 column4 column5
0 A 12 13 0 0
1 B 15 16 16 0
2 C 12 14 14 14

关于Python-我想使用 pandas 将第二行的列移动到第一行的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43615493/

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