Pythonでデータを扱う際に便利なモジュール「Pandas」がある日突然エラーを出力し動作しなくなりました。
先ほどまで、別のフォルダーでPandasを使ったテストを行っていましたが、別ディレクトリーでテストプログラムを書いたら動作しなくなりました。
module ‘pandas’ has no attribute ‘Series’
なぜなんでしょう・・・?
原因がわかれば「なーんだ」となるのですが、そこに至るまでは結構大変だったのでメモとして残しておきます。
module ‘pandas’ has no attribute ‘Series’の対策方法
Pandasを使ったテストを行ってたかったのでちょっとしたプログラムを書きました。
#pandas.py import numpy as np import pandas as pd s = pd.Series([2,4,6,8,10]) print(s)
さて実行してみると
Traceback (most recent call last): File "pandas.py", line 2, in <module> import pandas as pd File "C:python_testpandas.py", line 4, in <module> s = pd.Series([2,4,6,8,10]) AttributeError: module 'pandas' has no attribute 'Series'
とエラーに。
単純なプログラムなのでどうみてもおかしくないような・・・
でも何度やってもエラーになります。
Pandasバージョンが古い?
こういった場合に良くあるのがモジュールのバージョンが古い(合っていない)ということです。
そこで「Pandas」を再度インストールしてみることに
C:samplepandas>pip install pandas Requirement already satisfied: pandas in c:pythonpython37libsite-packages (0.25.3) Requirement already satisfied: numpy>=1.13.3 in c:pythonpython37libsite-packages (from pandas) (1.18.1) Requirement already satisfied: python-dateutil>=2.6.1 in c:pythonpython37libsite-packages (from pandas) (2.8.1) Requirement already satisfied: pytz>=2017.2 in c:pythonpython37libsite-packages (from pandas) (2019.3) Requirement already satisfied: six>=1.5 in c:pythonpython37libsite-packages (from python-dateutil>=2.6.1->pandas) (1.14.0)
なんだか入ってるぽい。
ファイル名を「pandas.py」はダメ
悩むこと5分。
わかりました。「ファイル名」がダメなんですね。
ファイル名を「pandas.py」にしてました。
そこでファイル名を「pandas_test.py」にして再実行。
0 2 1 4 2 6 3 8 4 10 dtype: int64
見事に思った通りの動作しました。
まとめ
Pythonでのファイル名はモジュールの名前と一緒にしちゃダメってことです。
以上、PythonでPandasがmodule ‘pandas’ has no attribute ‘Series’でエラーになる時の対応方法でした。