У меня есть мультииндексный фрейм данных, подобный этому:
import pandas as pd
import numpy as np
lat = [10.1,16.5,35.8,40.6,80.7,60.1]
long = [11.3,19.4,33.6,43.8,65.2,60.1]
years = list(range(2000,2010,1))
months = list(range(1,13,1))
variables = ['S','L','A','W']
miindex = pd.MultiIndex.from_product([zip(lat,long),years, months])
micolumns = pd.MultiIndex.from_tuples(variables)
dfmi = pd.DataFrame(np.arange(len(miindex) * len(micolumns)).reshape((len(miindex),\
len(micolumns))),index=miindex, \
columns=micolumns). \
sort_index().sort_index(axis=0)
#In [10]: dfmi
#Out[10]:
# S L A W
#(10.1, 11.3) 2000 1 0 1 2 3
# 2 4 5 6 7
# 3 8 9 10 11
# 4 12 13 14 15
# 5 16 17 18 19
# 6 20 21 22 23
# 7 24 25 26 27
# 8 28 29 30 31
# 9 32 33 34 35
# 10 36 37 38 39
# 11 40 41 42 43
# 12 44 45 46 47
# 2001 1 48 49 50 51
# 2 52 53 54 55
# 3 56 57 58 59
Я могу нарезать этот набор данных в зависимости от лет или месяцев, как это
summer_data = dfmi.loc[(slice(None),slice(None),slice(6,8)),:]
#In[11]: summer_data
#Out[11]:
# S L A W
#(10.1, 11.3) 2000 6 20 21 22 23
# 7 24 25 26 27
# 8 28 29 30 31
# 2001 6 68 69 70 71
# 7 72 73 74 75
# 8 76 77 78 79
# 2002 6 116 117 118 119
# 7 120 121 122 123
Я хочунарезать этот набор данных в зависимости от значений широты, таких как больше 30. Я прошел через документацию pandas MultiIndex / Advanced Indexing, но я не нашел ничего полезного. Есть ли в любом случае, с помощью которого я могу это сделать?