gpt4 book ai didi

python - 动态创建列。为它们分配一个常量行向量

转载 作者:太空宇宙 更新时间:2023-11-03 14:22:16 25 4
gpt4 key购买 nike

假设我有一些数据框 df。我想向其中添加 ['A', 'B', 'C, 'D'] 的四列 存在,并且将保存一个常量行向量 [1, 2, 3, 4]

当我尝试做的时候:

df[new_columns] = [1,2,3,4]

它失败了(说 ['A', 'B', 'C, 'D'] 不在索引中)。

如何在 Pandas 中动态创建多列?我是否总是必须为这样的事情使用 append ?我记得读过(例如在@Jeff 对 this question 的评论中),在较新的版本中支持动态创建列。我错了吗?

最佳答案

我认为这是要走的路。这里的逻辑非常清晰。

In [19]: pd.concat([df,DataFrame([[1,2,3,4]],columns=list('ABCD'),index=df.index)],axis=1)
Out[19]:
label somedata A B C D
0 b 1.462108 1 2 3 4
1 c -2.060141 1 2 3 4
2 e -0.322417 1 2 3 4
3 f -0.384054 1 2 3 4
4 c 1.133769 1 2 3 4
5 e -1.099891 1 2 3 4
6 d -0.172428 1 2 3 4
7 e -0.877858 1 2 3 4
8 c 0.042214 1 2 3 4
9 e 0.582815 1 2 3 4

多重赋值可以工作,但我不认为它是一个很好的解决方案,因为它很容易出错(例如,说你的一些列已经存在,你应该怎么做?)。而rhs问题很大,因为你通常想要对齐,所以你需要广播并不明显。

关于python - 动态创建列。为它们分配一个常量行向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896241/

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