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

#python #pandas #dataframe #.loc

#python #pandas #фрейм данных #.loc

Вопрос:

Я хочу извлечь столбцы из фрейма данных, используя другой фрейм данных. Я не хочу жестко кодировать заголовки столбцов в коде, поскольку данные поступают из csv, и столбцы могут быть добавлены с разными заголовками. Пробовал с помощью .loc и использование итераций, но, похоже, ничего не работает. Это то, что у меня есть для кода, который взят из двух разных документов csv…

df1 =

     Date     a   b   c  d
 11/11/2011  2   3   4  5
 11/12/2011  3   4   5  6
 11/13/2011  4   5   6  7         
 

df1 был переведен с использованием a .pivot, а заголовок столбца a, b, c, d является символом
и

df2 =

 Symbol
    b
    d
 

Ожидаемый результат…

      b   d
 x   3   5
 y   4   6
 z   5   7  
 

Пробовал делать

 df1.loc(df2)
 

но объекты got a ‘DataFrame’ изменчивы, поэтому их нельзя хэшировать ошибка

Спасибо за помощь!

Ответ №1:

Вы можете сделать это:

 In [157]: df1[df2['Symbol']]
Out[157]: 
   b  d
0  3  5
1  4  6
2  5  7
 

Комментарии:

1. Вы ответили за 5 секунд до меня 🙂

2. @PraysonW. Дэниел Ха-ха. Извините за это. 😉

3. Я удалил свой, поскольку они похожи