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列数据分配给新列;如果valid为False,则将b列数据分配给新列。有人能告诉我怎么做吗?
发布于 2017-04-28 07:55:50
您可以使用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 4https://stackoverflow.com/questions/43674956
复制相似问题