выберите конкретный столбец из блока данных Pandas MultiIndex

У меня есть DataFrame MultiIndex с 200 столбцами. Я хотел бы выбрать конкретный столбец из этого. Предположим, что df является частью моего фрейма данных:

df=
                       a                             b
                       l       h     l       h       l       h      l    
                      cold    hot    hot    cold    cold     hot   hot
2009-01-01 01:00:00   0.1     0.9    0.4    0.29    0.15     0.6    0.3
2009-01-01 02:00:00   0.1     0.8    0.35   0.2     0.15     0.6    0.4
2009-01-01 03:00:00   0.12    0.7    0.3    0.23    0.23     0.8    0.3
2009-01-01 04:00:00   0.1     0.9    0.33   0.24    0.15     0.6    0.4
2009-01-01 05:00:00   0.17    0.9    0.41   0.23    0.18     0.75   0.4

Я хотел бы выбрать значения для этого столбца [h, hot].

Мой вывод должен быть:

df['h','hot']=
                       a      b
2009-01-01 01:00:00   0.9   0.6
2009-01-01 02:00:00   0.8   0.6
2009-01-01 03:00:00   0.7   0.8
2009-01-01 04:00:00   0.9   0.6
2009-01-01 05:00:00   0.9   0.75

Я был бы признателен за любые рекомендации относительно того, как я могу это выбрать.

python,pandas,dataframe,

1

Ответов: 2


1

Для многоиндексной нарезки, поскольку вы хотите, чтобы колонки сначала сортировались sort_index(axis=1), вы можете выбрать интересующие столбцы без ошибок:

In [12]:
df = df.sort_index(axis=1)
df['a','h','hot']

Out[12]:
0
2009-01-01 01:00:00    0.9
2009-01-01 02:00:00    0.8
2009-01-01 03:00:00    0.7
2009-01-01 04:00:00    0.9
2009-01-01 05:00:00    0.9
Name: (a, h, hot), dtype: float64

0

Попробуй это:

dataframe= pd.DataFrame()
dataframe["temp"] = df["b"]["h"]["hot"]

df - это ваш dataframe

питон, панды, dataframe,