繁体   English   中英

使用匹配的多索引值访问 pandas dataframe 的行

[英]Access rows of a pandas dataframe with matching Multiindex values

我有一个带有多索引的pandas Dataframe(可以在此处作为 netcdf 文件访问)。 数据如下图所示 - 多索引 ( names=['rgi_id', 'time'] ) 由冰川编号 (RGI60-15.00001 到 RGI60-15.13000) 和时间点 (2020 到 2101) 组成.

我想提取属于每个冰川的所有行。 我已经为 Multiindex 的第一部分提取了唯一值,如下所示: uniques = np.unique(np.array(list(df.index.get_level_values(0))))
但是当我想使用uniques隔离所有行时,我得到一个空的 dataframe:

>>> 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性仅包含多索引的第一部分,因此不匹配。 但是现在我对如何合并 Multi-Index 的第二部分一无所知。

如何遍历我的 dataframe 并提取属于每个冰川的所有行? 我在正确的轨道上还是有其他解决方案? 我知道这个解决方案,但我无法正确应用它......

在此处输入图像描述

使用df.loc[uniques[0]]在带有第一级标签的轴上进行索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM