gpt4 book ai didi

python - 如何在 Pandas 中垂直连接多列

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:58 25 4
gpt4 key购买 nike

我正在尝试向数据框中添加一个新列,并用数据框中的多个其他列串联在一起填充该列。这个新列的长度与数据框中其余列的长度不同,我该如何做到这一点?

例如:

df = pd.DataFrame([[1, 2], [1, 3], [4, 6]], columns=['A', 'B'])

我想在数据框中创建一个 C 列,读取 1,1,4,2,3,6(垂直方向除外)

print (df)
A B C
0 1 2 1
1 1 3 1
2 4 6 4
3 2
4 3
5 6

最佳答案

稍微修改了 Anton 的解决方案(适用于任意数量的列):

In [99]: df = pd.DataFrame(np.random.randint(0,10,(3,4)), columns=list('ABCD'))

In [100]: df
Out[100]:
A B C D
0 9 6 9 6
1 1 2 0 8
2 5 0 4 8

In [105]: pd.concat([df, df.T.stack().reset_index(name='new')['new']], axis=1)
Out[105]:
A B C D new
0 9.0 6.0 9.0 6.0 9
1 1.0 2.0 0.0 8.0 1
2 5.0 0.0 4.0 8.0 5
3 NaN NaN NaN NaN 6
4 NaN NaN NaN NaN 2
5 NaN NaN NaN NaN 0
6 NaN NaN NaN NaN 9
7 NaN NaN NaN NaN 0
8 NaN NaN NaN NaN 4
9 NaN NaN NaN NaN 6
10 NaN NaN NaN NaN 8
11 NaN NaN NaN NaN 8

关于python - 如何在 Pandas 中垂直连接多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45493320/

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