【发布时间】:2017-01-06 04:15:31
【问题描述】:
我在编译我的代码时遇到了一点问题。看起来main_df = df 的行导致失败,我不太明白为什么。
非常感谢任何帮助。
import quandl
import pandas as pd
# API key was removed
api_key = 'X'
fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states',flavor='html5lib')
main_df = pd.DataFrame()
for abbv in fiddy_states[0][0][1:]:
query = "FMAC/HPI_"+str(abbv)
df = quandl.get(query, authtoken=api_key)
if main_df.empty:
main_df = df
else:
main_df = main_df.join(df)
print(main_df.head())
我收到此错误:
Traceback(最近一次调用最后一次): 文件“C:/Users/Dave/Documents/Python Files/helloworld.py”,第 17 行,在 main_df = main_df.join(df)
文件“C:\Python35\lib\site-packages\pandas\core\frame.py”,第 4385 行,加入 rsuffix=rsuffix, sort=sort)
文件“C:\Python35\lib\site-packages\pandas\core\frame.py”,第 4399 行,在 _join_compat suffixes=(lsuffix, rsuffix), sort=sort)
文件“C:\Python35\lib\site-packages\pandas\tools\merge.py”,第 39 行,合并中 返回 op.get_result()
文件“C:\Python35\lib\site-packages\pandas\tools\merge.py”,第 223 行,在 get_result rdata.items, rsuf)
文件“C:\Python35\lib\site-packages\pandas\core\internals.py”,第 4445 行,在 items_overlap_with_suffix 中 to_rename) ValueError:列重叠但未指定后缀:Index(['Value'], dtype='object')
【问题讨论】:
-
你想做什么?在每次迭代中将新数据附加到数据框? pd.join 执行 sql 样式的连接,可能不是您在这里寻找的。试试
main_df = main_df.append(df)。 -
在这种情况下,我希望加入而不是追加。附加确实有效,但没有给我我想要的东西。你知道为什么它在这种情况下不起作用吗?
-
好吧,我不知道你在找什么。你能举一个输入/输出的例子吗?
-
应该是一个以Date为索引的数据框,然后是50列(每一列应该是一个州的缩写),数据对应一个特定的日期。