2017-03-17 43 views
0

以下代碼從wiki中提取狀態縮寫,然後我附加到FMAC/HPI_AL,然後用作鍵從數據集提取值,並將它們的數據幀試圖運行一個簡短的程序,它給了我正確的結果,但最終它總是給我神​​祕的錯誤信息

import quandl 
import pandas as pd 

內存儲在此軟件我使用quandl和熊貓模塊遍歷狀態縮寫

api_key = 'tVKGSq5NCWt6jr5p1m7Y' 
def state_list(): 
    fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states') 
    return fiddy_states[0][0][1:] 


def grab_initial_state_data(): 
    states = state_list() 

    main_df = pd.DataFrame() 

然後將它們附加到另一個字符串一起形成從qua中提取值的關鍵字NDL。 爲abbv的狀態: 查詢= 「FMAC/HPI _」 + STR(abbv) DF = quandl.get(查詢的authToken = API_KEY) 打印(查詢) 如果main_df.empty: main_df = DF 其他: main_df = main_df.join(DF) 打印(main_df) 打印(main_df.head()) grab_initial_state_data()

輸出的第一部分:

FMAC/HPI_AL 
       Value 
Date 
1975-01-31 35.311045 
1975-02-28 35.533128 
1975-03-31 35.792522 
1975-04-30 36.109691 
1975-05-31 36.411170 
FMAC/HPI_AK 

後我運行該程序在我的Mac上,它可以產生正確的輸出。 然而,系統通過打印下面這個神祕的錯誤信息來阻止我對代碼進行任何未來的操作。

Traceback (most recent call last): 
    File "learning_picks.py", line 35, in <module> 
    grab_initial_state_data() 
    File "learning_picks.py", line 25, in grab_initial_state_data 
    main_df = main_df.join(df) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/frame.py", line 4555, in join 
    rsuffix=rsuffix, sort=sort) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/frame.py", line 4569, in _join_compat 
    suffixes=(lsuffix, rsuffix), sort=sort) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/tools/merge.py", line 62, in merge 
    return op.get_result() 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/tools/merge.py", line 556, in get_result 
    rdata.items, rsuf) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/internals.py", line 4699, in items_overlap_with_suffix 
    to_rename) 
ValueError: columns overlap but no suffix specified: Index([u'Value'], dtype='object') 

任何幫助或洞察將非常非常感激。

回答

0

您的main_dfdf列中有一個重疊的列名稱,但您沒有指定在發生這種情況時要執行的操作。

要修正這個錯誤,這樣做:

main_df.join(df, lsuffix='_left', rsuffix='_right') 

相反。

相關問題