我有这个pandas数据帧:
d=pandas.DataFrame([{"a": 1}, {"a": 3, "b": 2}])
Run Code Online (Sandbox Code Playgroud)
并且我正在尝试根据数组中的数字索引,为某些行添加一个非空值的新列.例如,仅在第一行中添加新列"c" d:
# array of row indices
indx = np.array([0])
d.ix[indx]["c"] = "foo"
Run Code Online (Sandbox Code Playgroud)
应该将"foo"添加为第一行的列"c"值,将NaN添加到所有其他行.但这似乎没有改变数组:
d.ix[np.array([0])]["c"] = "foo"
In [18]: d
Out[18]:
a b
0 1 NaN
1 3 2
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?怎么做到呢?谢谢.
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
Run Code Online (Sandbox Code Playgroud)
如果您要分配数值,以下内容将起作用
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12344 次 |
| 最近记录: |