gpt4 book ai didi

python - 从 pandas DataFrame MultiIndex 中选择命名索引级别

转载 作者:太空宇宙 更新时间:2023-11-03 12:26:21 25 4
gpt4 key购买 nike

我创建了一个数据框:

df1 = pandas.read_csv(ifile_name,  header=None,  sep=r"\s+",  usecols=[0,1,2,3,4],
index_col=[0,1,2], names=["year", "month", "day", "something1", "something2"])

现在我想创建另一个数据框,其中 year>2008。因此我尝试了:

df2 = df1[df1.year>2008]

但是出现错误:

AttributeError: 'DataFrame' object has no attribute 'year'

我猜,它在列中看不到“年份”,因为我在 index.html 中定义了它。但是在这种情况下,我如何才能获取基于 year>2008 的数据呢?

最佳答案

使用 MultiIndex.get_level_values 按名称获取级别并为行选择创建 bool 掩码:

df2 = df1[df1.index.get_level_values('year') > 2008]

如果您打算进行修改,请创建 df1 的副本,以便不对 View 进行操作。

df2 = df1[df1.index.get_level_values('year') > 2008].copy()

关于python - 从 pandas DataFrame MultiIndex 中选择命名索引级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51923088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com