2017-09-26 9 views
1

たとえば、データフレームがdf、列がのintが含まれているとします。パンダの列の値を書き換える構文的な砂糖はありますか?

私は、彼らはすべての1が、私はこのような何か書くと、それらに追加したように、内のすべての値を変更したい場合:

df["A"] = df["A"] + 1 

をので、私は「ドンこれを書くための方法はありますdf ["A"]を2回書く必要がありますか?

+6

はい、 'df [" A "] + = 1'です。 https://stackoverflow.com/questions/4841436/what-exactly-does-do-in-python – Zero

+0

を参照してください。また、短いdf.Aについても、 –

+0

df.A.add(1) df.A + = 1 'が良い。 – MedAli

答えて

3

これらの解決法のほとんどはコメントで言及されているので、私はちょうどここで答えとしてそれらを洗い流しています。


オプション1
直接割り当てます。最も慣用的なアプローチ。

df['A'] += 1 

また、あなたがアクセスする列に対してドット表記を使用することもできます。

df.A += 1 

これは、しかし、彼らにスペースを持つ列のために働く、または数字で開始されません。使用


オプション2
df.assign(より良いあなたはコピーではなく、インプレース割り当てをしたい場合)

df = df.assign(A=df['A'] + 1) 

はまたdf.addと一緒にこれを使用することができます指摘されている通り:

df = df.assign(A=df['A'].add(1)) 
関連する問題