Pandas报错no attribute 'convert_dtypes'解决办法

189 阅读1分钟

本文正在参加「金石计划 . 瓜分6万现金大奖」

1.bug重现

代码

dataframe = pd.read_csv('/home/mw/input/Soviet_70yrs4904/RUStoWorldTrade.csv', usecols=['Year','Aggregate Level','Reporter ISO','Partner','Partner ISO','Commodity Code','Commodity','Qty Unit','Qty','Netweight (kg)','Trade Value (US$)'])
dataframe = dataframe.convert_dtypes()

报错信息

/opt/conda/lib/python3.6/site-packages/IPython/core/interactiveshell.py:3020: DtypeWarning:

Columns (11) have mixed types. Specify dtype option on import or set low_memory=False.

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-981831ba9217> in <module>
      1 dataframe = pd.read_csv('/home/mw/input/Soviet_70yrs4904/RUStoWorldTrade.csv', usecols=['Year','Aggregate Level','Reporter ISO','Partner','Partner ISO','Commodity Code','Commodity','Qty Unit','Qty','Netweight (kg)','Trade Value (US$)'])
----> 2 dataframe = dataframe.convert_dtypes()

/opt/conda/lib/python3.6/site-packages/pandas/core/generic.py in __getattr__(self, name)
   5065             if self._info_axis._can_hold_identifiers_and_holds_name(name):
   5066                 return self[name]
-> 5067             return object.__getattribute__(self, name)
   5068 
   5069     def __setattr__(self, name, value):

AttributeError: 'DataFrame' object has no attribute 'convert_dtypes'

2.pandas版本查看

import pandas
pandas.__version__

'0.24.2'

!python --version

Python 3.6.4 :: Anaconda, Inc.

显然,版本太低了。。。。。。

3.解决办法

升级python 和 pandas

出现这种情况是由于pandas 1.0.0版本只支持python3.6以上版本(不包含python3.6.0)