1. ホーム
  2. python

[解決済み] pandasシリーズで「データは1次元でなければならない」エラーが発生する

2022-02-10 11:12:08

質問

pandas & numpyの初心者です。簡単なプログラムを動かしています

labels = ['a','b','c','d','e'] 
s = Series(randn(5),index=labels)
print(s)

以下のようなエラーが発生します。

    s = Series(randn(5),index=labels)   File "C:\Python27\lib\site-packages\pandas\core\series.py", line 243, in
__init__
    raise_cast_failure=True)   File "C:\Python27\lib\site-packages\pandas\core\series.py", line 2950, in
_sanitize_array
    raise Exception('Data must be 1-dimensional') Exception: Data must be 1-dimensional

何が問題なのか、心当たりはありますか?ipython notebookではなく、eclipseを使って試しています。

どのように解決するのですか?

輸入品を間違えているのでは?

これをコードに追加すると

from pandas import Series
from numpy.random import randn

labels = ['a','b','c','d','e'] 
s = Series(randn(5),index=labels)
print(s)

a    0.895322
b    0.949709
c   -0.502680
d   -0.511937
e   -1.550810
dtype: float64

問題なく動作しています。

とはいえ、@jezrael が指摘しているように、名前空間を汚染するよりも、モジュールをインポートする方が良い習慣です。

代わりに以下のようなコードになるはずです。

解決策

import pandas as pd
import numpy as np

labels = ['a','b','c','d','e'] 
s = pd.Series(np.random.randn(5),index=labels)
print(s)