我有一个 datetime 对象的 pandas 列,我想从这个列中提取一个独特的 years 列表。最有效的方法是什么?
编辑:不确定 pandas 如何处理执行操作的顺序
请您参考如下方法:
您可以使用 pd.Series.dt.year 后接 pd.Series.unique。
下面使用来自@Engineero 的数据在 Python 3.6/Pandas 0.19 上计时。
%timeit df['time'].dt.year.unique().tolist() # 739 µs per loop
%timeit df['time'].apply(lambda x: x.year).unique().tolist() # 5.9 ms per loop
%timeit list(set(df['time'].dt.year.values)) # 823 µs per loop
