Фильтровать кадр данных по двум столбцам в Pandas

1

У меня есть dataframe A, содержит почасовые метеорологические данные для каждого города.

City  Hour  Temperature
A      1      30
A      2      32
...
B      1      39
B      2      40

У меня есть еще один dataframe B, который указывает, какая запись в A мне интересна для анализа.

City  Hour  
A      1     
B      2     

Как фильтровать A на B?

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

City  Hour  Temperature
A      1      30
B      2      40

В настоящее время я использую внутреннее соединение.

Теги:
pandas

2 ответа

1
Лучший ответ

Использование merge

df.merge(dfb)
Out[820]: 
  City  Hour  Temperature
0    A     1           30
1    B     2           40
0

Хотя это не так просто, как merge @Wen, вы можете сделать:

A.set_index(['City','Hour']).loc[pd.Index(B)].reset_index()

  City  Hour  Temperature
0    A     1           30
1    B     2           40

Ещё вопросы

Сообщество Overcoder
Наверх
Меню