What is correct syntax to swap column values for selected rows in a pandas data frame using just one line?

前端 未结 3 972
说谎
说谎 2020-12-24 14:33

I am using pandas version 0.14.1 with Python 2.7.5, and I have a data frame with three columns, e.g.:

import pandas as pd

d = {\'L\':  [\'left\', \'right\',         


        
3条回答
  •  旧时难觅i
    2020-12-24 14:58

    One way you could avoid alignment on column names would be to drop down to the underlying array via .values:

    In [33]: df
    Out[33]: 
           L      R  VALUE
    0   left  right     -1
    1  right   left      1
    2   left  right     -1
    3  right   left      1
    4   left  right     -1
    5  right   left      1
    
    In [34]: df.loc[idx,['L','R']] = df.loc[idx,['R','L']].values
    
    In [35]: df
    Out[35]: 
          L      R  VALUE
    0  left  right     -1
    1  left  right      1
    2  left  right     -1
    3  left  right      1
    4  left  right     -1
    5  left  right      1
    

提交回复
热议问题