pandas Создание кадров данных путем циклического перебора имен в списке - PullRequest
1 голос
/ 15 января 2020

Здравствуйте, я пытаюсь создать al oop для автоматизации кода ниже

jacob = WT[(WT.Techs == 'JL') | (WT.Tech1 =='JL') | (WT.Tech2 =='JL') | (WT.Tech3 =='JL')]
marcus = WT[(WT.Techs == 'MO') | (WT.Tech1 =='MO') | (WT.Tech2 =='MO') | (WT.Tech3 =='MO')]

Я попытался следующий код, но он генерирует только фрейм данных для "name", а не "jacob" или "marcus" и только для последней фамилии в списке.

name = ('jacob', 'marcus')
tec = ('JL', 'MO')

for i in tec:
   name  = WT[(WT.Techs == i) | (WT.Tech1 == i) | (WT.Tech2 == i) | (WT.Tech3 == i)]

Как мне сгенерировать фрейм данных, названный по именам в имени и для указанных c инициалов в tec?

Спасибо!

1 Ответ

0 голосов
/ 15 января 2020

Попробуйте использовать словарь, как показано ниже:

d = {x: WT[WT[['Techs', 'Tech1','Tech2','Tech3']].eq(y).all(1)] for x, y in zip(name, tec)]

Для его вызова:

print(d['jacob'])
pritn(d['marcus'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...