提取特定年份熊猫数据框架中的所有值

时间:2019-06-19 10:50:52

标签: python pandas date

我想获取以下熊猫DataFrame实例中具有特定年份的所有值:

timestamps = np.array([pd.Timestamp('2016-01-01'), pd.Timestamp('2016-01-02'), pd.Timestamp('2017-01-01'), pd.Timestamp('2018-01-01')])
quantities = np.array([1.0, 10.0, 2.0, 3.0])
data = dict(timestamps=timestamps, quantities=quantities)
df = pd.DataFrame(data=data)

如下所示:

  timestamps  quantities
0 2016-01-01         1.0
2 2016-01-02         10.0
3 2017-01-01         2.0
4 2018-01-01         3.0

我想提取具有特定年份的所有quantities属性,即对于2016年,我会得到[1.0,10.0]?

1 个答案:

答案 0 :(得分:2)

您可以使用dt.year提取timestamps列的年份。

此处dt是类似datetime的属性的访问器对象。因此,可以在日期时间序列上应用矢量化方法。

然后只需使用结果为数据框编制索引:

df[df.timestamps.dt.year.eq(2016)]

 timestamps      quantities
0 2016-01-01         1.0
1 2016-01-02        10.0