Как удалить столбец из целевого фрейма данных, но столбец (столбцы) необходимы для объединения в слияние - PullRequest
0 голосов
/ 17 июня 2020

У меня есть два фрейма данных df1, df2

df1.columns

['id','a','b']

df2.columns

['id','ab','cd','ab_test','mn_test']

Ожидаемый столбец ['id','a','b','ab_test','mn_test']

  • Как получить все столбцы из df1 и столбцы, которые содержат test в имени столбца

    псевдокод> pd.merge (df1, df2, how = 'id ')

1 Ответ

2 голосов
/ 17 июня 2020

Вы можете merge и использовать filter один второй фрейм данных, чтобы сохранить интересующие столбцы:

df1.merge(df2.filter(regex=r'^id$|test'), on='id')

Или аналогичным образом с помощью побитовых операций :

df1.merge(df2.loc[:,(df2.columns=='id')|df2.columns.str.contains('test')], on='id')

df1 = pd.DataFrame(columns=['id','a','b'])
df2 = pd.DataFrame(columns=['id','ab','cd','ab_test','mn_test'])

df1.merge(df2.filter(regex=r'^id$|test'), on='id').columns
# Index(['a', 'b', 'id', 'ab_test', 'mn_test'], dtype='object')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...