'module' object has no attribute 'DataFrame'


For the following code:

import pandas as pd
df = pd.DataFrame(np.random.rand(12,2), columns=['Apples', 'Oranges'] )
df['Categories'] = pd.Series(list('AAAABBBBCCCC'))
pd.options.display.mpl_style = 'default'

I get the error:

'pandas' object has no attribute 'DataFrame'.

Any ideas on what is happening and how to fix this problem?

Asked By: aerijman



Please check if:

a) you’ve named a file ‘pandas.py’ in the same directory as your script, or

b) another variable called ‘pd’ is used in your program.

Answered By: Michael G.

The code presented here doesn’t show this discrepancy, but sometimes I get stuck when invoking dataframe in all lower case.

Switching to camel-case (pd.DataFrame()) cleans up the problem.

Answered By: Daniel Klaus

I have faced similar problem, ‘int’ object has no attribute ‘DataFrame’,

This was because i have mistakenly used pd as a variable in my code and assigned an integer to it, while using the same pd as my pandas dataframe object by declaring – import pandas as pd.

I realized this, and changed my variable to something else, and fixed the error.

Answered By: SVK

Please make sure that your file name should not be panda.py or pd.py.
Also, make sure that panda is there in your Lib/site-packages directory, if not that you need to install panda using below command line:

pip install pandas

if you work with proxy then try calling below in command prompt:

python.exe -m pip install pandas --proxy="YOUR_PROXY_IP:PORT"
Answered By: Sandy

For me he problem was that my script was called pandas.py in the folder pandas which obviously messed up my imports.

Answered By: Hans

Change the file name if your file name is like pandas.py or pd.py, as, otherwise, the file name will shadow the real name. In this case, an error message may also be raised, citing a possible circular import.

Answered By: raju

I recieved a similar error:

AttributeError: module ‘pandas’ has no attribute ‘DataFrame’

The cause of my error was that I ran pip install of pandas as root, and my user did not have permission to the directory.

My fix was to run:

sudo chmod -R 755 /usr/local/lib/python3.6/site-packages

Answered By: Jeff

There may be two causes:

  1. It is case-sensitive: DataFrame …. Dataframe, dataframe will not work.

  2. You have not install pandas (pip install pandas) in the python path.

Answered By: Bhaskar Jyoti Das
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.