如何在DataFrame列之间进行逻辑操作?

时间:2017-04-28 07:53:33

标签: pandas dataframe

import pandas as pd
data = [{'a': 1, 'b': 2, 'valid': True}, {'a': 3, 'b': 4, 'valid':False}]
df = pd.DataFrame(data)

   a  b  valid
0  1  2   True
1  3  4  False

如果a为True,我想将valid列数据分配给新列,或者如果b为False,则将valid列数据分配给新列。谁能告诉我怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用numpy.where

df['new'] = np.where(df['valid'], df['a'], df['b'])
print (df)
   a  b  valid  new
0  1  2   True    1
1  3  4  False    4