データフレーム内の特定のセルの値を変更したいだけですが、set_valueを使用しました。しかし、set_valueを使うたびに、データフレーム全体が1回リストされます。データフレームのサイズが大きく(10百万行以上)、プロセスがエネルギーと時間を浪費します。 プラットフォーム:Spyder(Python 2.7)Python Pandas set_valueはデータフレーム全体を表示します
助言に感謝します!
データフレーム内の特定のセルの値を変更したいだけですが、set_valueを使用しました。しかし、set_valueを使うたびに、データフレーム全体が1回リストされます。データフレームのサイズが大きく(10百万行以上)、プロセスがエネルギーと時間を浪費します。 プラットフォーム:Spyder(Python 2.7)Python Pandas set_valueはデータフレーム全体を表示します
助言に感謝します!
それはあなたが望むものですか?
In [69]: df
Out[69]:
a b c
0 8 6 2
1 9 9 6
2 1 7 9
3 9 0 6
4 0 6 7
5 9 3 4
6 4 6 5
7 8 3 4
8 0 8 9
9 7 2 8
In [70]: df.ix[5, 'a'] = 100
In [71]: df
Out[71]:
a b c
0 8 6 2
1 9 9 6
2 1 7 9
3 9 0 6
4 0 6 7
5 100 3 4
6 4 6 5
7 8 3 4
8 0 8 9
9 7 2 8
の代わり:
In [72]: df.set_value(9, 'a', 100)
Out[72]:
a b c
0 8 6 2
1 9 9 6
2 1 7 9
3 9 0 6
4 0 6 7
5 100 3 4
6 4 6 5
7 8 3 4
8 0 8 9
9 100 2 8
あなたも、このようにそれを行うことができます。
In [73]: df = df.set_value(9, 'a', 100)
ありがとうございました!できます。 –
@CarlZheng、喜んで助けてください。あなたの質問に答えた場合は、最も役立つ回答を[承諾する](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)してください。答えた。 – MaxU
set_value
は非常に高速です。インタラクティブなセッションの長さは、出力を準備する時間です。
In [130]: %timeit u.set_value(0,0,3)
10000 loops, best of 3: 41.9 µs per loop
In [131]: %timeit u.ix[0,0]=2
1000 loops, best of 3: 745 µs per loop
2番目の方法では表示を禁止します。
ありがとうございました!第二の方法は私が望むものです。 –
データフレームのサンプルと出力を追加できますか? – jezrael