gpt4 book ai didi

pandas - 对 DateTimeIndex 进行排序时 Pandas FutureWarning 的解决方法

转载 作者:行者123 更新时间:2023-12-02 04:18:00 24 4
gpt4 key购买 nike

如上所述here ,Pandas.sort_index() 在对 DateTimeIndex 进行排序时有时会发出 FutureWarning。该问题不可操作,因为它不包含 MCVE。这是一个:

import pandas as pd
idx = pd.DatetimeIndex(['2017-07-05 07:00:00', '2018-07-05 07:15:00','2017-07-05 07:30:00'])
df = pd.DataFrame({'C1':['a','b','c']},index=idx)
df = df.tz_localize('UTC')
df.sort_index()

警告看起来像:

FutureWarning: Converting timezone-aware DatetimeArray to timezone-naive ndarray with 'datetime64[ns]' dtype

堆栈(Pandas 0.24.1)是:

__array__, datetimes.py:358
asanyarray, numeric.py:544
nargsort, sorting.py:257
sort_index, frame.py:4795

该错误是从 datetimes.py 发出的,请求使用 dtype 参数调用它。然而,没有办法通过 nargsort 强制执行这一操作——看起来遵守 datetimes.py 的请求需要对 pandas 和 numpy 进行更改。

已举报 here 。与此同时,您能想出我错过的解决方法吗?

最佳答案

已确认 0.24.2 里程碑的问题。解决方法是过滤警告,因此:

with warnings.catch_warnings():
# Pandas 0.24.1 emits useless warning when sorting tz-aware index
warnings.simplefilter("ignore")
ds = df.sort_index()

关于pandas - 对 DateTimeIndex 进行排序时 Pandas FutureWarning 的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54854900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com