Python 尝试运行一个简短的程序,它会给我正确的结果,但最后它总是给我神秘的错误消息
以下代码从wiki中提取状态缩写,然后我将其附加到FMAC/HPI_AL中,然后将其用作从数据集中提取值并将其存储在数据框中的键Python 尝试运行一个简短的程序,它会给我正确的结果,但最后它总是给我神秘的错误消息,python,macos,python-2.7,pandas,Python,Macos,Python 2.7,Pandas,以下代码从wiki中提取状态缩写,然后我将其附加到FMAC/HPI_AL中,然后将其用作从数据集中提取值并将其存储在数据框中的键 import quandl import pandas as pd 在这个软件中,我使用quandl和pandas模块 api_key = 'tVKGSq5NCWt6jr5p1m7Y' def state_list(): fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_o
import quandl
import pandas as pd
在这个软件中,我使用quandl和pandas模块
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()
循环使用state缩写,并将它们附加到另一个字符串中,该字符串共同构成从quandl提取值的键。
对于美国的abbv:
query=“FMAC/HPI_389;”+str(缩写)
df=quandl.get(查询,authtoken=api\u键)
打印(查询)
如果主参数为空:
main_df=df
其他:
main_df=main_df.join(df)
打印(主屏幕)
打印(主测向头())
抓取\初始\状态\数据()
输出的第一部分:
FMAC/HPI_AL
价值
日期
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上运行程序后,它会产生预期的正确输出。
然而,系统随后打印了以下神秘的错误消息,阻止了我以后对代码进行任何操作
回溯(最近一次呼叫最后一次):
文件“learning_picks.py”,第35行,在
抓取\初始\状态\数据()
文件“learning\u picks.py”,第25行,在抓取初始状态数据中
main_df=main_df.join(df)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/pandas/core/frame.py”,第4555行,在join中
rsuffix=rsuffix,sort=sort)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/pandas/core/frame.py”,第4569行,在
后缀=(lsuffix,rsuffix),排序=排序)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/pandas/tools/merge.py”,第62行,合并中
返回操作获取结果()
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/pandas/tools/merge.py”,第556行,在get_result中
rdata.items,rsuf)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/pandas/core/internals.py”,第4699行,项目重叠,后缀为
(重命名)
ValueError:列重叠但未指定后缀:索引([u'Value'],dtype='object')
非常感谢您提供的任何帮助或见解。您的
main_df
和df
在列中有重叠的列名,但您尚未指定发生这种情况时要执行的操作
要修复此错误,请执行以下操作:
main_df.join(df, lsuffix='_left', rsuffix='_right')
相反