【发布时间】:2019-09-18 06:03:44
【问题描述】:
如何根据数据框另一列中的值是否包含在另一个数据框的特定列中来设置数据框一列的值。如果包含,则数字为 1,如果不包含,则为 0。例如:我有两个数据框:
a={'age':[22,38,26,62,198,27],'no':[1,2,3,4,5,6]}
TableB= {'name': ['Braund', 'Cummings', 'Heikkinen', 'Allen','Mary','Celina','Roger'],
'age': [22,38,26,35,41,22,38],
'fare': [7.25, 71.83, 0 , 8.05,7,6.05,6],
'survived?': [False, True, True, False, True, False, True]}
我想检查a的'age'列中的每个数字是否包含在TableB的'age'列中,如果包含,则在a中添加'Observer'列并将值设置为1,如果不是,0。
I have tried this:
a['age'].isin(TableB['age'].set_value('Observer',1)
预期的结果如下,但是我的结果是a的observer列的所有值都是1。
a={'age':[22,38,26,62,198,27],'no':[1,2,3,4,5,6],'observer':[1,1,1,0,0,0]}
【问题讨论】:
-
a={'age':[22,38,26,62,198,27],'no':[1,2,3]}你是如何将其转换为数据框的? -
抱歉打错了,我已经改正了
标签: python python-3.x pandas merge anaconda