我有一个数据框:
TYPE NAME IS_MAIN
PPRTYPE TIME 0
PPRTYPE SIGHT 0
PPRTYPE SIGHT 1
PNRDTL NOT FOUND 1
PPRTYPE SIGHT 0
PPRTYPE TIME 1
如果TYPE
是PPRTYPE
并且NAME
是SIGHT
并且IS_MAIN
是1
那么如果NAME
为TYPE
,则PNRDTL
'NOT APPLICABLE'
中的IS_MAIN
会更改为1
。
注意:对于任何类型,IS_MAIN = 1
只会出现一次。
代码:
temp = df.loc[(df['IS_MAIN'] == 1) & (df['TYPE'] == 'PPRTYPE'), 'NAME']
temp = temp.reset_index(drop=True)
temp = temp[0]
if (temp == 'SIGHT'):
df.loc[(df['TYPE'] == 'PNRDTL') & (df['IS_MAIN'] == 1) , 'NAME'] = 'NOT APPLICABLE'
我面临的问题是
(df['TYPE'] == 'PNRDTL') & (df['IS_MAIN'] == 1)
没有获取任何值,因此该值没有更改。
如果有人可以发现我犯的错误或告诉我任何解决方法,我会很高兴。
非常感谢。
答案 0 :(得分:1)
为我工作:
CI-480-1617
CI-481-1617
CI-482-1617
CI-483-1617
CI-484-1617
CI-485-1617
CI-486-1617
CI-487-1617
CW-095-1617