我想获取以下熊猫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]?
答案 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