python - Pandas 过滤具有特定年份的数据框行

标签 python pandas datetime dataframe

我有一个数据框 df 并且它有一个 Date 列。我想创建两个新的数据框。一个包含 df 中年份等于 some_year 的所有行,另一个数据框包含 df 中年份的所有行不等于 some_year。我知道你可以做 df.ix['2000-1-1' : '2001-1-1'] 但为了获得所有不在 2000 年的行需要额外创建 2数据框,然后连接/加入它们。

有这样的方法吗?

include = df[df.Date.year == year]
exclude = df[df['Date'].year != year]

这段代码不行,有没有类似的方法?

最佳答案

您可以使用日期时间访问器。

import datetime as dt
df['Date'] = pd.to_datetime(df['Date'])

include = df[df['Date'].dt.year == year]
exclude = df[df['Date'].dt.year != year]

关于python - Pandas 过滤具有特定年份的数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46878156/

相关文章:

python - 使用 django-polymorphic 创建许多对象

python - 当达到某些值时,Dataframe 删除重复项

python - 如何检查一个二维数组是否在另一个二维数组中

javascript - 计算 UTC 中的 momentjs 时间戳之间的持续时间

.net - 儒略日期形式的系统日期?

python - 是否可以使用实时信号自动更新干草堆弹性中的多个索引

python - 在列表中按顺序获取偶数和奇数

python - Python 中非拉丁文本输出为无意义

python - 在多列 pandas 上应用 "list"函数

mysql - MYSQL统计文件状态时间