gpt4 book ai didi

python - 使用特定项目的值向 Pandas 数据框添加新列?

转载 作者:太空狗 更新时间:2023-10-29 23:59:43 27 4
gpt4 key购买 nike

我有这个 Pandas 数据框:

d=pandas.DataFrame([{"a": 1}, {"a": 3, "b": 2}])

我正在尝试根据数组中的数字索引向其中添加一个新列,该列仅针对某些行具有非空值。例如,仅将新列“c”添加到 d 中的第一行:

# array of row indices
indx = np.array([0])
d.ix[indx]["c"] = "foo"

应该为第一行添加“foo”作为列“c”值,为所有其他行添加 NaN。但这似乎并没有改变数组:

d.ix[np.array([0])]["c"] = "foo"
In [18]: d
Out[18]:
a b
0 1 NaN
1 3 2

我做错了什么?如何做呢?谢谢。

最佳答案

In [11]: df = pd.DataFrame([{"a": 1}, {"a": 3, "b": 2}])

In [12]: df['c'] = np.array(['foo',np.nan])

In [13]: df
Out[13]:
a b c
0 1 NaN foo
1 3 2 nan

如果您要分配一个数值,则以下方法可行

In [16]: df['c'] = np.nan

In [17]: df.ix[0,'c'] = 1

In [18]: df
Out[18]:
a b c
0 1 NaN 1
1 3 2 NaN

关于python - 使用特定项目的值向 Pandas 数据框添加新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15704274/

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