刚刚为我从 excel 加载的数据框收到这个新警告。
我知道如果我要 pd.DataFrame 我可以设置索引,但是我不清楚从文件加载时如何设置数据帧索引类型。
C:\python\python38\lib\site-packages\geopandas\io ile.py:362: FutureWarning: pandas.Int64Index 已弃用,将在未来版本中从 pandas 中删除。使用 pandas.Index 和适当的 dtype 代替。
课堂摘录:
xls = pd.ExcelFile('C:/QGISwork/generic_templates/fielddbtemplate_db.xlsx')
self.header = xls.parse('generic', header = None)
self.df = xls.parse('generic', skiprows=4, index_col=0, na_values=['NA'])
我在本地机器上训练
XGBoostClassifier
时遇到了同样的问题。
按照这个链接,我将我的 XGBoost 从
1.5.1
升级到1.6.1
,所有这些警告都消失了。
要升级版本,您可能首先需要使用卸载当前的 XGBoost 包
pip3 卸载 xgboost
接下来,使用重新安装XGBoost
pip3 安装 xgboost
我发现这个警告来自 xgboost compat.py 。我注释掉了 multiindex 和 index64index 的导入部分
警告消失
原因可能是 xgboost 甚至最新版本都没有考虑 pandas 新版本中的弃用。
我发现避免此警告的最佳方法是先导入 pandas,然后导入 MultiIndex 和 Int16Dtype,然后再导入依赖于 Panda 索引的任何其他库。这就是我摆脱警告的方式。
import pandas as pd
from pandas import MultiIndex, Int16Dtype
import xgboost as xgb
在我的例子中,需要索引引用的是 xgboost。在您的情况下,它可能是 geopandas 库。
升级xgboost
pip install xgboost --upgrade
在 jupyter 实验室中:
!pip install xgboost --upgrade
我这样做了,问题就消失了