Выберите столбец в фрейме данных с несколькими заголовками - PullRequest
0 голосов
/ 23 мая 2018

У меня есть df с несколькими заголовками:

multicol = pd.MultiIndex.from_tuples([('France', '2017'), ('France', '2018'),('UK', '2017'), ('UK', '2018')], names = ("Country", "Year"))
df = pd.DataFrame([[1, 2, 5, 8], [2, 4, 2, 9]], index=['Number', 'Volume'], columns=multicol)

Я хочу напечатать только столбец France для 2018.

Как я могу это сделать?

1 Ответ

0 голосов
/ 23 мая 2018

Используйте кортеж для выбранных столбцов в MultiIndex:

df = df[('France','2018')]
print (df)
Number    2
Volume    4
Name: (France, 2018), dtype: int64

Для более сложных операций выбора используйте слайсеры :

idx = pd.IndexSlice
a = df.loc['Number', idx['France','2018']]
print (a)
2

b = df.loc['Number', idx[:,'2018']]
print (b)
Country  Year
France   2018    2
UK       2018    8
Name: Number, dtype: int64

c = df.loc[:, idx[:,'2017']]
print (c)
Country France   UK
Year      2017 2017
Number       1    5
Volume       2    2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...