Как сравнить два столбца данных и извлечь значение третьего столбца как вывод в Python - PullRequest
0 голосов
/ 21 октября 2019

У меня есть два кадра данных, как показано ниже

df1:

subject
laptop issue
password reset
account unlock
...

df2:

key                       Automation    
reset password              70%
lock account                50%
unlock                      70%
...

Я хочу взять первую строку из кадра данных (df1) ипроверьте с помощью «ключа» столбца в df2. проверьте, все ли слова из первой строки появляются в df2 (столбец «ключ»). Например, laptop issue отсутствует в df2, тогда как password reset появляется в df2.

, когда «сброс пароля» совпадает с df2, соответствующее значение «Автоматизация» должно быть напечатано как вывод в отдельном файле. столбец в df1.

, поэтому df1 будет выглядеть следующим образом:

df1:

subject                    Automation
laptop issue                   0%
password reset                 70%
account unlock                 0%

Как мне поступить с этим в python.

словв предложении может быть в любом порядке. не обязательно, это должно быть одно и то же предложение.

1 Ответ

0 голосов
/ 21 октября 2019

Ниже приведены точные упорядоченные / неупорядоченные совпадения путем создания отсортированных ключей, соответствующих предметам:

import pandas as pd

df = pd.DataFrame({"subject":["laptop issue","password reset","account unlock"]})
df2 = pd.DataFrame({"key":["lock account","reset password","unlock"],
                    "Automation":["50%","70%","70%"]})

df["new"] = df["subject"].apply(lambda x: " ".join(sorted(x.split())))
df2["new"] = df2["key"].apply(lambda x: " ".join(sorted(x.split())))

print (df.merge(df2,on="new",how="left").fillna("0%").drop(columns=['new', 'key']))

#
          subject Automation
0    laptop issue         0%
1  password reset        70%
2  account unlock         0%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...