Как я могу проверить два столбца с двумя столбцами одновременно? - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь проверить, находятся ли комбинации значений в столбцах [группа] и [подгруппа] в списке допустимых комбинаций.

Когда я просто проверяю один столбец, например:

dataframe.loc[~(dataframe['group'].isin(validCombis.values.T[0].tolist())), 'myColumn'] = 'invalid' 

отлично работает.

Но я получаю Ошибка типа | Ошибка ключа: «подгруппа»

при попытке выполнить следующее:

dataframe.loc[~(dataframe['group']['subgroup'].isin(validCombis)), 'myColumn'] = 'invalid' 

Мне нужно проверить, находятся ли оба в комбинации одна строка в списке, где у меня также есть два столбца [группа] и [подгруппа].

пример:

validCombis

[группа] [подгруппа]

1       1
1       4
2       1
3       8

dataframe

[группа] [подгруппа] [myColumn]

1       1        NaN
1       4        NaN
2       8        NaN
3       4        NaN

ожидаемый результат после выполнения некоторого кода

[группа] [подгруппа] [myColumn]

1       1        NaN
1       4        NaN
2       8        invalid
3       4        invalid

1 Ответ

0 голосов
/ 29 марта 2019

На основании комментария @ J.Doe я узнал, что

dataframe.loc[~((dataframe['group'].astype(str) + dataframe['subgroup'].astype(str)).isin(validCombis['EK']+validCombis['EUK'])), 'myColumn'] = 'invalid'

у меня отлично работает.

...