У меня есть файл Excel, в котором мне нужно найти значение в столбце и проверить, существует ли оно в другом столбце, используя Python Pandas. Вот как это выглядит:
svc_no i_status caller_id f_status result remarks
11111 WO 22222 WO Not Match Transpose
22222 WO 11111 WO Not Match Transpose
Вот условия:
- подряд
svc_no
не равно caller_id
svc_no
в caller_id
, но в строке с другим номером
svc_no
и caller_id
не равно NULL
или n/a
result
равно Not Match
Если условия соблюдены, тогда я должен написать Transpose
в столбце remarks
Я использовал .loc
и isin()
, но каким-то образом, даже если svc_no
не в caller id
, предполагая, что svc_no и caller_id не равны, это все еще пишет Транспонировать в remarks
столбец.
Вот мой код:
df.loc[(df['svc_no'] != 'NULL') &\
(df['caller_id'] != 'n/a') & \
(df['svc_no'].isin(df['caller_id'])) & \
(df['caller_id'].isin(df['svc_no'])) &\
(df['result'] == 'Not Match'),
'remarks'] = 'Transpose'