gpt4 book ai didi

python - 按索引上的函数过滤 pandas 数据框

转载 作者:行者123 更新时间:2023-12-01 00:40:08 24 4
gpt4 key购买 nike

我有一个数据框,其中的日期用作索引,我想提取给定月份(例如一月)的所有行。例如给定

Date         Col1 
2000-01-01 1
...
2000-12-31 12
2001-01-01 1
...
2001-12-31 12
2002-01-01 1
...
2002-12-31 12

然后就可以了

f = df.index.map(lambda x: x.month==1)
new_df = df[f]

是否有更简单的方法来获取 new_df?

我本来希望能够做类似 df.loc[lambda x: x.month==1] 的事情但这不起作用,因为 x实际上是df (这是反直觉的,因为 .loc 期望所有其他形式的 .loc 调用中的实际标签,所以我会认为 x 将是索引的每个标签)。或df.filter(lambda x: x.month==1)但是filter不接受回调。

最佳答案

您可以使用pandas.DatetimeIndex.month with loc 返回条件匹配的索引

df.loc[df.index.month==1]
#df[df.index.month==1]
<小时/>
            Col1
Date
2000-01-01 1.0
2001-01-01 1.0
2002-01-01 1.0

关于python - 按索引上的函数过滤 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57423453/

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