按年份对数据框进行排序(熊猫)

时间:2021-05-18 23:48:59

标签: python pandas dataframe csv

所以我有一个数据框,其中一些值通过左侧的日期进行排序。如何将范围缩小到 2020 年?

enter image description here

我不知道该怎么办

2 个答案:

答案 0 :(得分:0)

就我个人而言,我只会使用大于或等于我正在过滤的日期,并使用它返回的日期。

这是一个例子:

df[(df['Date'] >= '2020-1-1')]

祝您有美好的一天!

答案 1 :(得分:0)

考虑到 Date 列是 datetime type

如果不是,我们先把它转换成datetime

df.Date = pd.to_datetime(df.Date)

如果我们只想获取 2020 年的记录。

df[df.Date.dt.year == 2020]

如果我们想获取 2020 年及之后的所有记录。

df[df.Date.dt.year >= 2020]

玩具示例

dt = pd.date_range('2018-01-01', '2021-05-01', freq='M')
df = pd.DataFrame({
    'Date':dt,
    'USD':np.arange(len(dt))
})
df

df.Date = pd.to_datetime(df.Date) ## Not required but fot the sake of eg

df[df.Date.dt.year == 2020]
## df[df.Date.dt.year >= 2020]

输出

    Date        USD
24  2020-01-31  24
25  2020-02-29  25
26  2020-03-31  26
27  2020-04-30  27
28  2020-05-31  28
29  2020-06-30  29
30  2020-07-31  30
31  2020-08-31  31
32  2020-09-30  32
33  2020-10-31  33
34  2020-11-30  34
35  2020-12-31  35