[英]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.