Python 使用匹配的多索引值访问数据帧的行
我有一个带有多索引的Python 使用匹配的多索引值访问数据帧的行,python,pandas,dataframe,multi-index,Python,Pandas,Dataframe,Multi Index,我有一个带有多索引的pandasDataframe(它可以作为netcdf文件访问)。数据如下图所示-多索引(names=['rgi_id','time'])由冰川编号(RGI60-15.00001至RGI60-15.13000)和时间点(2020至2101)组成 我想提取属于每个冰川的所有行。我提取了多索引第一部分的唯一值,如下所示:uniques=np.unique(np.array(list(df.index.get_level_values(0))) 但当我想使用uniques隔离所有行
pandas
Dataframe(它可以作为netcdf文件访问)。数据如下图所示-多索引(names=['rgi_id','time']
)由冰川编号(RGI60-15.00001至RGI60-15.13000)和时间点(2020至2101)组成
我想提取属于每个冰川的所有行。我提取了多索引第一部分的唯一值,如下所示:uniques=np.unique(np.array(list(df.index.get_level_values(0)))
但当我想使用
uniques
隔离所有行时,我会得到一个空数据帧:
>>> df.loc[df.index == uniques[0]
Empty DataFrame
Columns: [hydro_year, hydro_month, calendar_year, calendar_month, volume, area, length, terminus_thick_0, terminus_thick_1, terminus_thick_2, water_level, glen_a, fs]
Index: []
我理解这是因为uniques
只包含多索引的前几个部分,因此不匹配。但现在我对如何合并多索引的第二部分没有任何想法
我如何迭代数据帧并提取属于每个冰川的所有行?我是走对了路还是有别的解决办法?我知道解决方案,但我无法正确应用它
使用
df.loc[uniques[0]]
在轴上索引,标签位于第一级。我无法访问它;它的扩展名是.nc
,不是文本文件是的,对不起。我忘了在问题中提到它-数据是一个netcdf文件,我将其转换为一个数据帧。