A V
A V

Reputation: 341

How to treat '<attribute 'dtype' of 'numpy.generic' objects>' error?

After installing pypfopt and u-numpy, dataframe.info() command shows this error.

TypeError: Cannot interpret '<attribute 'dtype' of 'numpy.generic' objects>' as a data type

Upvotes: 22

Views: 61804

Answers (9)

Pranav Nigam
Pranav Nigam

Reputation: 43

Just go to the terminal provided in Jupyter Notebook by clicking "New" and then "Terminal" inside "New" and type:

pip install pandas --upgrade

this will fix the error as it worked for me.

Upvotes: 1

Tarun Reddy
Tarun Reddy

Reputation: 2803

downgrading to numpy==1.19.5 works

Use below command to downgrade in anaconda prompt:

python -m pip install numpy==1.19.5

Upvotes: 6

spchaane
spchaane

Reputation: 352

I happened to mix my versions and I encountered the problem today. I managed to fix it. Both codes in jupyter gave me an error: TypeError: Cannot interpret '<attribute 'dtype' of 'numpy.generic' objects>' as a data type

df.info() 
df.categorical_column_name.value_counts().plot.bar()

I got the error: TypeError: Cannot interpret '<attribute 'dtype' of 'numpy.generic' objects>' as a data type

This is how i fixed it

Inside jupyter: Check numpy version:

import numpy as np
print(np.__version__)

To upgrade:

!pip3 install numpy --upgrade

Inside Command line check numpy version: python

import numpy
print(numpy.__version__)

if versions are not the same choose whether to upgrade/downgrade: To upgrade:

$pip install numpy --upgrade

To downgrade just specify the version

If you have python environment installed: Go to the right folder: Check the installed version:

$pipenv --version

To verify if you have a pip environment installed for that folder: On your terminal Go to the folder and type:

$pipenv --version

If there is a pipenv it will show the version and if there is none it won't.

check numpy version

$python
>>> import numpy
#prints the version
>>> print(numpy__version__)

To upgrade the version:

>>>exit()

#To install the latest version don't specify the version

$pipenv install numpy

#if you want to downgrade specify the version

$pipenv install numpy=version_type

Do the same for pandas. Note that with pandas if your pandas environment is 1.2.3 on the jupyter notebook upgrade with !pip install pandas==1.2.3 or just !pip install pandas --upgrade --user.

Note that if the commands are giving you an error always include --user at the end of the command.

To create a new environment using miniconda and install updated packages follow the link [https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html][1]

Run the following commands from a terminal window:

  1. conda create -n name_of_my_env python This will create a minimal environment with only Python installed in it. To put your self inside this environment run:

source activate name_of_my_env On Windows the command is: 2. activate name_of_my_env

The final step required is to install pandas. This can be done with the following command:

conda install pandas

To install a specific pandas version:

  1. conda install pandas=0.20.3

I prefer using the latest version of pandas 1.2.3

However the first method should solve your problem. Always restart your notebook by closing and reopening it.

I will stick around to see if you are winning. But this will resolve your problem. The problem is caused by the versions of numpy and pandas [1]: https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html

Upvotes: 15

Wildhammer
Wildhammer

Reputation: 2175

In my case, restarting the kernel fixed the error. Hope it saves someone time as I was reading pandas source code to figure out what the hell was happening :))

Upvotes: 1

mherzog
mherzog

Reputation: 1230

Here's a link to the numpy issue associated with this error: https://github.com/numpy/numpy/issues/18355. A succinct fix is given there (in https://github.com/numpy/numpy/issues/18355#issuecomment-1029684903):

pip install --upgrade numpy
pip install --upgrade pandas

Upvotes: 4

Ashraf Kacper
Ashraf Kacper

Reputation: 1

U might have the latest version of NumPy which may not be compatible, so downgrade your NumPy version. I have downgraded to 1.17.2

Upvotes: -1

vcnr_1234
vcnr_1234

Reputation: 63

The issue is because of the non-compatibility of NumPy and pandas versions. I couldn't downgrade my NumPy for some odd reasons as others suggested from Anaconda. But found this link helpful Downgrading pandas to 1.3 and with the existing NumPy version set at 1.20.1, helped me to overcome this issue.

Upvotes: 2

Rutangaba
Rutangaba

Reputation: 439

I fixed this type error downgrading numpy version to 1.16.5.

Try it!

Use code below in your jupyter notebook to downgrade your numpy:

!pip install numpy==1.16.5

My pandas version: 0.24.2

Upvotes: 13

alaa fradi
alaa fradi

Reputation: 86

I fixed it by updating all packages in my Anaconda Navigator Environments

Upvotes: 0

Related Questions