#python #pandas #pandasql
#python #pandas #pandasql
Вопрос:
У меня есть 7 фреймов данных только со значениями «OK» и «KO», и единственный столбец, который соединяет все, — это идентификатор.
df1:
ID, Name, Address, Email
1, OK, OK, OK
2, OK, KO, OK
3, OK, OK, KO
df2:
ID Job, Credit_Card, Driving_License_Number
1, OK, OK, OK
2, KO, KO, OK
3, OK, OK, OK
Я пытаюсь найти способ запросить или объединить все значения «KO» в один csv-файл / фрейм данных, чтобы я мог легко проверить, какой столбец не прошел тест
Что-то вроде этого:
ID_2, ID_3
Address, Email
Job
Credit_Card
Итак, с этим я знаю, что в ID_2 отсутствует адрес, информация о работе и кредитной карте, а в ID_3 отсутствует адрес электронной почты.
Ответ №1:
Давайте сначала объединим их ID
, а затем выполним матричное умножение:
merged = df1.merge(df2, on='ID').set_index('ID')
(merged.eq('KO') @ (merged.columns (', '))).str[:-2]
Вывод:
ID
1
2 Address, Job, Credit_Card
3 Email
dtype: object