2017-11-16 17 views
0

私はSentdex's second tutorial on pandas basicsをフォローしていましたが、この問題が発生しました。ここまでのコードは次のとおりです。ValueError:配列はすべてパンダで同じ長さでなければなりません

import pandas as pd 
import matplotlib.pyplot as plt 
from matplotlib import style 
style.use('ggplot') 

web_stats = {'Day' : [1,2,3,4,5,6], 
      'Visitors' : [43,53,34,45,64,34], 
      'Bounce_Rate' : [65,72,62,64,66]} 

df = pd.DataFrame(web_stats) 

print(df) 

このエラーメッセージが表示されたら、私は本当に混乱していました。私はマックにいることに注意してください。

Traceback (most recent call last): 
    File "/Users/Terry/Documents/df.py", line 10, in <module> 
    df = pd.DataFrame(web_stats) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/core/frame.py", line 275, in __init__ 
    mgr = self._init_dict(data, index, columns, dtype=dtype) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/core/frame.py", line 411, in _init_dict 
    return _arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/core/frame.py", line 5496, in _arrays_to_mgr 
    index = extract_index(arrays) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/core/frame.py", line 5544, in extract_index 
    raise ValueError('arrays must all be same length') 
ValueError: arrays must all be same length 
>>> 

ご協力いただければ幸いです。

+1

Bounce_Rateだけで5つの値を持っている、あなたは、同じ長さの配列がわからないデータフレーム – Vaishali

+0

を作成できるように渡す必要がありますが、 'Bounce_Rate'はわずか5つの値を持っており、他は6を持っています。 – fernand0

+0

答えが正しいとマークしてください。ようこそ! – alexisdevarennes

答えて

1

Bounce_Rateの値は、訪問者の日数よりも少なくなります。あなたのweb_stats辞書を確認してください。

Ie.そのリストに項目(int、つまり番号)を追加すると修正されます。しかし、以下の例では、コメントに応じてリストの値を[65、72、62、64、54、66]に変更することに注意してください。あなたはおそらくそこに行くべき値をチェックしたいでしょう。

import pandas as pd 
import matplotlib.pyplot as plt 
from matplotlib import style 
style.use('ggplot') 

web_stats = {'Day' : [1,2,3,4,5,6], 
      'Visitors' : [43,53,34,45,64,34], 
      'Bounce_Rate' : [65, 72, 62, 64, 54, 66]} # Copied values from tutorial according to comments. 

df = pd.DataFrame(web_stats) 

print(df) 
+0

ビデオチュートリアルの実際のリストは '[65、72、62、64、54、66]'です。 – ayhan

+0

が正しく、パンダでは、データフレームの列はすべて同じ長さでなければなりません。あなたは値を挿入することができます(それが必要なものならば、たぶんタイプミスなど)、それとも文字通りその特定の「直帰率」項目の値を持っていない場合は、NaNを入れてください –

+1

使用方法の更新:65、 72,62,64,54,66 – alexisdevarennes

関連する問題