DatetimeIndex.get_loc已弃用。

7

我将Pandas更新到了1.4.0版本,并使用了yfinance0.1.70。 以前,我必须保持Pandas 1.3.5,因为Pandas和yfinance不能很好地协作。这些最新版本的Pandas和yfinance现在可以一起工作,但是Pandas现在会给我一个警告:

Future Warning: Passing method to DatetimeIndex.get_loc is deprecated... Use index.get_indexer([item], method=...) instead

作为一名初学者,我在使用原始get_loc语句时遇到了很多麻烦:

last_week = format((df.index[df.index.get_loc(last_week, method='nearest')]).strftime('%Y-%m-%d'))

这个语句让我从数据框中获取了一个日期,我可以进一步确定与该日期相关联的值:

week_value = df.loc[last_week, ans]

实话实说,我感到有些害怕尝试将此语句更改为符合新的和改进后的get_indexer函数。请有人能帮我吗?

1个回答

12
应该很简单。只需要将get_loc(XXX, ...)替换为get_indexer([XXX], ...)[0]
last_week = format((df.index[df.index.get_indexer([last_week], method='nearest')[0]]).strftime('%Y-%m-%d'))

get_indexer()和where()有什么区别? - skan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接