22

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
karel
  • 5,489
  • 46
  • 45
  • 50
A V
  • 341
  • 1
  • 2
  • 7

9 Answers9

15

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

SP_
  • 332
  • 5
  • 12
13

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

A DUBEY
  • 806
  • 6
  • 20
Rutangaba
  • 399
  • 3
  • 7
6

downgrading to numpy==1.19.5 works

Use below command to downgrade in anaconda prompt:

python -m pip install numpy==1.19.5

Rishabh Sahrawat
  • 2,437
  • 1
  • 15
  • 32
Tarun Reddy
  • 2,123
  • 2
  • 11
  • 6
4

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
mherzog
  • 1,085
  • 1
  • 12
  • 24
2

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.

vcnr_1234
  • 63
  • 8
1

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 :))

Wildhammer
  • 2,017
  • 1
  • 27
  • 33
1

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.

0

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

alaa fradi
  • 21
  • 3
-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

  • 1
    Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Dec 28 '21 at 23:07
  • This does not provide an answer to the question. Once you have sufficient [reputation](https://stackoverflow.com/help/whats-reputation) you will be able to [comment on any post](https://stackoverflow.com/help/privileges/comment); instead, [provide answers that don't require clarification from the asker](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). - [From Review](/review/late-answers/30690957) – Mad Physicist Jan 02 '22 at 02:53