2017-07-25 4 views
1

pandasでは、他の列の列の条件付き列に値を追加する方法はありますか?例えば、(何か2次元スライス動作に似ている?)他の列の条件付き列に値を追加する方法

、このようなデータフレームを有する:カラムnameがfooであればカラムcolxに10を追加することが可能である方法

df = pd.DataFrame({'name': ['foo', 'foo', 'bar', 'bar'], 
        'colx': [1, 2, 3, 4], 
        'coly': [5, 6, 7, 8]}) 

か?

たDFは次のようになります。

colx coly name 
0 11  5 foo 
1 12  6 foo 
2  3  7 bar 
3  4  8 bar 

答えて

4

あなたは値を変更したいときスライシングを実行するためにloc演算子を使用することができます。

df.loc[df.name == 'foo','colx'] += 10 

ザ・がの基礎となるスライスのメソッドを使用していますあなたのデータフレームにループや適用を使用するよりも速くなるパンダです。あなたのデータフレームが大きくなった場合は、完全に。

関連する問題