我尝试根据另外两列的布尔值向DataFrame添加新列。如果两列中的一列具有真值,那么我希望新列返回True。只有当两个列都有false值时,我才希望这个新列返回False。
由于我对python很陌生,我还没有走得太远。
像这样的DataFrame就是一个很好的例子:
data = DataFrame({ 'name': ['A', 'B', 'C', 'D', 'E'],
'has_a_pass': [False, False, False, True, False],
'is_an_employee': [True, False, True, True, False] })
任何人都有任何有用的建议来解决这个问题吗?
答案 0 :(得分:3)
不确定is_an_employee
字段是否是字符串而不是布尔值,但假设它们应该是布尔值:
data = pd.DataFrame({ 'name': ['A', 'B', 'C', 'D', 'E'], 'has_a_pass': [False, False, False, True, False], 'is_an_employee': [True, False, True, True, False] })
data['new column'] = data['is_an_employee'] | data['has_a_pass']
data
Out[49]:
has_a_pass is_an_employee name new column
0 False True A True
1 False False B False
2 False True C True
3 True True D True
4 False False E False
答案 1 :(得分:1)
IIUC:
In [170]: data['new'] = data[['has_a_pass','is_an_employee']].any(1)
In [171]: data
Out[171]:
has_a_pass is_an_employee name new
0 False True A True
1 False False B False
2 False True C True
3 True True D True
4 False False E False