#python #pandas #dataframe
#python #панды #фрейм данных
Вопрос:
У меня есть два фрейма данных, где фрейм данных A содержит гораздо больше столбцов, чем фрейм данных B, что я хотел бы сделать, это отфильтровать фрейм данных A, используя фрейм данных B в качестве ссылки, и получить новый фрейм данных A с тем же количеством столбцов, что и фрейм данных A. Например:
df_A = pd.DataFrame(np.random.randn(150, 17), columns=list('ABCDEFGHIJKLMONPQ'))
df_B = pd.DataFrame(np.random.randn(150, 8), columns=list('ABCDEFGH'))
Я хотел бы отфильтровать дополнительные столбцы df_A
и иметь a df_A
с теми же столбцами, которые df_B
есть.
Чтобы df_A
на выходе были столбцы ‘ABCDEFGH’
Комментарии:
1.
df_A.loc[:, df_B.columns]
? или на всякий случайdf_A.loc[:, df_A.columns.intersection(df_B.columns)]
Ответ №1:
Используйте фильтр.
df_A.filter(df_B.columns)
Или
df_A[df_B.columns]