Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Importing Pandas gives error AttributeError: module 'pandas' has no attribute 'core' in iPython Notebook

I am running a iPython notebook via the Anaconda Navigator app (version 1.1.0). When I want to import pandas it gives me a strange error. I thought the Anaconda app included the pandas package?

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-af55e7023913> in <module>()
----> 1 import pandas as pd

/Users/bertcarremans/anaconda/lib/python3.5/site-packages/pandas/__init__.py in <module>()
 37 import pandas.core.config_init
 38 
---> 39 from pandas.core.api import *
 40 from pandas.sparse.api import *
 41 from pandas.stats.api import *

/Users/bertcarremans/anaconda/lib/python3.5/site-packages/pandas/core/api.py in <module>()
  8 from pandas.core.common import isnull, notnull
  9 from pandas.core.categorical import Categorical
---> 10 from pandas.core.groupby import Grouper
 11 from pandas.core.format import set_eng_float_format
 12 from pandas.core.index import (Index, CategoricalIndex, Int64Index,

/Users/bertcarremans/anaconda/lib/python3.5/site-packages/pandas/core/groupby.py in <module>()
 16                               DataError, SpecificationError)
 17 from pandas.core.categorical import Categorical
---> 18 from pandas.core.frame import DataFrame
 19 from pandas.core.generic import NDFrame
 20 from pandas.core.index import (Index, MultiIndex, CategoricalIndex,

/Users/bertcarremans/anaconda/lib/python3.5/site-packages/pandas/core/frame.py in <module>()
 37                                    create_block_manager_from_arrays,
 38                                    create_block_manager_from_blocks)
---> 39 from pandas.core.series import Series
 40 from pandas.core.categorical import Categorical
 41 import pandas.computation.expressions as expressions

/Users/bertcarremans/anaconda/lib/python3.5/site-packages/pandas/core/series.py in <module>()
 33 from pandas.core.internals import SingleBlockManager
 34 from pandas.core.categorical import Categorical, CategoricalAccessor
---> 35 import pandas.core.strings as strings
 36 from pandas.tseries.common import (maybe_to_datetimelike,
 37                                    CombinedDatetimelikeProperties)

AttributeError: module 'pandas' has no attribute 'core'
like image 659
Bert Carremans Avatar asked Apr 09 '16 19:04

Bert Carremans


People also ask

How to fix the attribute error in pandas?

The file name is pd.py or pandas.py. Another reason you may receive an error is if the file name of your script is pd.py or pandas.py. To resolve this error, you simply need to rename your file to something else like my_script.py or my_data.py or literally any other name.

How do I fix AttributeError in Python?

Solution for AttributeError Errors and exceptions in Python can be handled using exception handling i.e. by using try and except in Python. Example: Consider the above class example, we want to do something else rather than printing the traceback Whenever an AttributeError is raised.


12 Answers

"Have you tried turning it off and on again?" (Roy of The IT crowd)

This happened to me today, which is why I ended up to this page. Seeing that error was weird since, recently, I have not made any changes in my Python environment. Interestingly, I observed that if I open a new notebook and import pandas I would not get the same error message. So, I did shutdown the troublesome notebook and started it again and voila it is working again!

Even though this solved the problem (at least for me), I cannot readily come up with an explanation as to why it happened in the first place!

like image 79
Dataman Avatar answered Sep 22 '22 17:09

Dataman


There's this bug in the latest version of pandas (pandas 0.23) that gives you an error on importing pandas.

But this can be easily fixed by installing an earlier version of pandas (pandas 0.22) using the command pip install pandas==0.22 on Windows Command Prompt.

like image 41
Rohan Raghuwanshi Avatar answered Sep 21 '22 17:09

Rohan Raghuwanshi


Apparently the error I got when trying to import pandas for the first time was ValueError: unknown locale: UTF-8

Trying to import again afterwards, gave another error as described in my question above.

I found the solution to solve the ValueError on IPython Notebook locale error

After updating my bash profile, the error AttributeError: module 'pandas' has no attribute 'core' did not appear anymore.

like image 40
Bert Carremans Avatar answered Sep 21 '22 17:09

Bert Carremans


There is an other weird reason this happens. If you have a file called pandas.py or a directory called pandas in the same or nested levels, that library is used instead and fails to work. Rename the folder and restart the env and it started working. Faced this

like image 36
Senthilkumar Gopal Avatar answered Sep 22 '22 17:09

Senthilkumar Gopal


I had a similar issue since I installed pandas using python -m pip install pandas --upgrade --user which installed a conflicting version in my user python packages directory, masking the Anaconda installed version that other dependencies relied upon.

conda list | grep pandas
pandas == 0.23.4

python -m pip list | grep pandas
pandas == 0.24.0

So uninstalling the user directory masked version cleaned up the issue for me.

python -m pip uninstall pandas

For reference all possible python packages are installed in the directories listed from this command:

python -m site

Might be worth iterating through these and checking for duplicates.

Edit: Since my original answer I learnt you can run:

python -m pip list -v

And it shows the directory the library is installed. This often shows whether the library you want is in a virtual environment, conda environment, user directory, system site packages etc.

like image 31
Josh Peak Avatar answered Sep 23 '22 17:09

Josh Peak


Try in your console

conda install pandas

and see what's the message given.

like image 33
dooms Avatar answered Sep 23 '22 17:09

dooms


You are getting this is because you are using a Anaconda distribution of Jupyter notebook. So just do conda install pandas restart your jupyter notebook and rerun your cell. It should work. If you are trying this on a Virtual Env try this

  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:

2 source activate name_of_my_env On Windows the command is: 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:

conda install pandas=0.20.3

To install other packages, IPython for example:

conda install ipython To install the full Anaconda distribution:

conda install anaconda

If you need packages that are available to pip but not conda, then install pip, and then use pip to install those packages:

conda install pip pip install django Installing from PyPI pandas can be installed via pip from PyPI.

pip install pandas Installing with ActivePython

Hope this helps.

like image 33
Maddy Anand Avatar answered Sep 21 '22 17:09

Maddy Anand


I have just solved this problem. Recently, I changed my language setting of my MacBook from English-UK to Chinese. And I suppose that setting will also change the setting in the "locale." Becuase when I switched back, I found that the setting of locale had been changed again, and I am fine to import the pandas again,.

So if you have changed the language setting recently, you may worth to have a try change it back.

like image 44
koalagreener Avatar answered Sep 23 '22 17:09

koalagreener


I recently came across the same problem right after I installed Pandas 0.23 in Anaconda Prompt. The solution is simply to restart the Jupyter Notebook which reports the error. May it helps.

like image 30
CathyQian Avatar answered Sep 23 '22 17:09

CathyQian


I face similar issue while importing TensorFlow. If you are using Tensorflow which uses Pandas library, I suggest restarting your kernel of Anaconda. This works for me.

like image 23
Niraj D Pandey Avatar answered Sep 22 '22 17:09

Niraj D Pandey


I got the same error for pandas latest version. Then saw this warning

FutureWarning: 'pandas.tools.plotting.scatter_matrix' is deprecated, import 'pandas.plotting.scatter_matrix' instead.

This shall work for you.

like image 43
Kaustub Gupta Avatar answered Sep 24 '22 17:09

Kaustub Gupta


I can confirm this issue is due to pandas 0.23.

Uninstall and then reinstall 0.22.

pip uninstall pandas
pip install pandas==0.22

Hope this could solve the problem.

like image 27
gayatri kondapalli Avatar answered Sep 24 '22 17:09

gayatri kondapalli