检查数据框列中的值,返回一个。

时间:2016-11-19 03:27:00

标签: python pandas

对于大多数人来说,这可能是一项快速而简单的任务。虽然,对我来说,在python中的首发出现了一些问题。让我们说:

DATA

g=pd.DataFrame({'AGGRESSION':[0,1,0,0,1], 'DECEPTIVENESS':[0,1,0,0,0]},index=    [1,2,3,4,5])

问题和期望的结果。我想迭代遍历行,检查其中aggresiveness和deceptivness都等于1的行,仅在相关行中为deceptivness留下1。

g['AGRESSION']=[0,0,0,0,1]
g['DECEPTIVENESS']=[0,1,0,0,0]

1 个答案:

答案 0 :(得分:2)

您可以使用Series.where

g['AGGRESSION'] = g['AGGRESSION'].where(~((g['AGGRESSION'] == 1) & (g['DECEPTIVENESS'] == 1)), 0)

enter image description here

或简单地说:

g['AGGRESSION'][(g['AGGRESSION'] == 1) & (g['DECEPTIVENESS'] == 1)] = 0