Pandas 如何在数据帧列之间进行逻辑操作?

Pandas 如何在数据帧列之间进行逻辑操作?,pandas,dataframe,Pandas,Dataframe,如果valid为True,我想将a列数据分配给新列;如果valid为False,我想将b列数据分配给新列。有人能告诉我怎么做吗?您可以使用: 您可以使用: 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 df['new

如果
valid
为True,我想将
a
列数据分配给新列;如果
valid
为False,我想将
b
列数据分配给新列。有人能告诉我怎么做吗?

您可以使用:

您可以使用:

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
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