Заполнять значения столбцов в соответствии с совпадением имен столбцов и элементов списка в другом столбце - PullRequest
0 голосов
/ 06 августа 2020

Я хотел бы заполнить значения столбцов «да» или «нет» на основе совпадения между именем столбца или его подстроками и элементами списка в той же строке, но в другом столбце. Есть ли способ добиться этого с помощью pandas?

Out[5]:
  Insurance:retailers Insurance:buyers Insurance:sales                Types
0                                                        [retailers, sales]
1                                                                   [sales]
2                                                       [retailers, buyers]

Я пытаюсь достичь следующего результата:

Out[7]:
  Insurance:retailers Insurance:buyers Insurance:sales                Types
0                 yes               no             yes   [retailers, sales]
1                  no               no             yes              [sales]
2                 yes              yes              no  [retailers, buyers]

Любая помощь будет очень принята. Спасибо.

1 Ответ

0 голосов
/ 06 августа 2020

Не очень много знаю о pandas, но, насколько я понимаю, DataFrames панды могут быть построены из словаря python и наоборот.

Так что это должно указать вам правильное направление

data={'Insurance:retailers':['No','No','No'],
  'Insurance:buyers':['No','No','No'],
  'Insurance:sales':['No','No','No'],
  'Types':[['retailers', 'sales'],['sales'],['retailers', 'buyers']]}

for idx, entry in enumerate(data['Types']):
    for key, value in data.items():
        if any(element in key for element in entry):
            data[key][idx]='yes'
            
print(data)
...