6

私はこのパンダのデータフレームを持っています:

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

配列内の数値インデックスに基づいて、特定の行に対してのみnull以外の値を持つ新しい列を追加しようとしています。たとえば、新しい列「c」を の最初の行にのみ追加しますd

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

これにより、最初の行の列 "c" 値として "foo" が追加され、他のすべての行には NaN が追加されます。しかし、これは配列を変更していないようです:

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

ここで何が間違っていますか?どのようにそれを行うことができますか?ありがとう。

4

1 に答える 1

6
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
于 2013-03-29T13:51:51.233 に答える