У меня есть датафрейм:
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)
не получает никакого значения, поэтому значение не изменяется.
Я был бы рад, если бы кто-то мог обнаружить ошибку, которую я совершаю, или рассказать мне какую-нибудь работу.
Большое спасибо.