如何将滚动或扩展转换应用于日期时间数据
How to apply rolling or expanding transformations to datetime data
我想计算日期时间列的扩展最大值 expanding().max()
但出现错误:
DataError: No numeric types to aggregate
有没有什么方法可以将函数 expanding
和 rolling
进一步转换为日期时间数据?例如:
df = pd.DataFrame({"time": ['05/01/2021', '05/03/2021', '05/02/2021', '05/04/2021']})
df['time'] = pd.to_datetime(df['time'])
time
0 2021-05-01
1 2021-05-03
2 2021-05-02
3 2021-05-04
df.time.expanding().max()
# DataError: No numeric types to aggregate
想要的结果:
0 2021-05-01
1 2021-05-03
2 2021-05-03
3 2021-05-04
您可以使用 cummax
:
df.time.cummax()
得到
0 2021-05-01
1 2021-05-03
2 2021-05-03
3 2021-05-04
Name: time, dtype: datetime64[ns]
我想计算日期时间列的扩展最大值 expanding().max()
但出现错误:
DataError: No numeric types to aggregate
有没有什么方法可以将函数 expanding
和 rolling
进一步转换为日期时间数据?例如:
df = pd.DataFrame({"time": ['05/01/2021', '05/03/2021', '05/02/2021', '05/04/2021']})
df['time'] = pd.to_datetime(df['time'])
time
0 2021-05-01
1 2021-05-03
2 2021-05-02
3 2021-05-04
df.time.expanding().max()
# DataError: No numeric types to aggregate
想要的结果:
0 2021-05-01
1 2021-05-03
2 2021-05-03
3 2021-05-04
您可以使用 cummax
:
df.time.cummax()
得到
0 2021-05-01
1 2021-05-03
2 2021-05-03
3 2021-05-04
Name: time, dtype: datetime64[ns]