如此处所述,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: 将时区感知的DatetimeArray转换为时区无关的ndarray,使用“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。
在这里报告。与此同时,您能否想到我错过的解决方法?
pandas
0.25.1,当执行np.isin(df.index, df.index)
时,我仍然看到同样的警告,并且df.index
是一个tz-aware DateTimeIndex。不确定是否是相同的问题还是类似的。 - Ken Williams