0

最初に DataFrame の最初のエントリを変更できます。

In [6]: df = pd.DataFrame(np.random.rand(5,2))
In [7]: df
Out[7]:
          0         1
0  0.514592  0.459589
1  0.329704  0.409099
2  0.061246  0.966191
3  0.336747  0.908513
4  0.169220  0.468437

In [8]: df.ix[0][0] = 1
In [9]: df
Out[9]:
          0         1
0  1.000000  0.459589
1  0.329704  0.409099
2  0.061246  0.966191
3  0.336747  0.908513
4  0.169220  0.468437

しかし、私がこれをした後:

In [10]: df[0] = np.floor(df.index / 10).astype(int) * 10
In [11]: df
Out[11]:
   0         1
0  0  0.459589
1  0  0.409099
2  0  0.966191
3  0  0.908513
4  0  0.468437

変更する方法が見つかりません。

In [12]: df.ix[0][0] = 1
In [13]: df
Out[13]:
   0         1
0  0  0.459589
1  0  0.409099
2  0  0.966191
3  0  0.908513
4  0  0.468437

また、他の列の要素を変更することさえできません

In [16]: df.ix[0][1] = 1

In [17]: df
Out[17]:
   0         1
0  0  0.459589
1  0  0.409099
2  0  0.966191
3  0  0.908513
4  0  0.468437

これどうしたの?

4

1 に答える 1

2

コピーを編集している場合は、試してください

In [3]: df = pd.DataFrame(np.random.rand(5,2))

In [4]: df[0] = np.floor(df.index / 10).astype(int) * 10

In [5]: df
Out[5]: 
   0         1
0  0  0.201611
1  0  0.390364
2  0  0.727422
3  0  0.941035
4  0  0.036764

In [6]: df.ix[0,1] = 1

In [7]: df
Out[7]: 
   0         1
0  0  1.000000
1  0  0.390364
2  0  0.727422
3  0  0.941035
4  0  0.036764
于 2013-03-21T21:51:50.990 に答える