每次创建循环函数时,第一个问题都很常见:
例如:
dfd = quandl.get("FRED/DEXBZUS")
dfe = quandl.get("ECB/EURBRL")
df = [dfd, dfe]
dps = []
for i in df:
我只获取第二个数据帧值。
使用此:
dfd = quandl.get("FRED/DEXBZUS")
df = [dfd]
dps = []
for i in df:
我明白了:
Empty DataFrame
Columns: []
Index: []
如果我使用它(重复第一个):
dfd = quandl.get("FRED/DEXBZUS")
dfe = quandl.get("ECB/EURBRL")
df = [dfd, dfd, dfe]
dps = []
for i in df:
我正确地得到了两个数据帧
Examples :
import quandl
import pandas as pd
#import matplotlib
import matplotlib.pyplot as plt
dfd = quandl.get("FRED/DEXBZUS")
dfe = quandl.get("ECB/EURBRL")
df = [dfd, dfe]
dps = []
for i in df:
df1 = i.reset_index()
results = pd.DataFrame(df1)
results = results.rename(columns={'Date': 'ds','Value': 'y'})
dps = pd.DataFrame(dps.append(results))
print(dps)
Empty DataFrame
Columns: []
Index: []
ds y
0 2008-01-02 2.6010
1 2008-01-03 2.5979
2 2008-01-04 2.5709
3 2008-01-07 2.6027
4 2008-01-08 2.5796
正如布鲁诺所说,它与这个功能有关:
dps = pd.DataFrame(dps.append(results))
如何将所有数据集附加到一个数据框中?
答案 0 :(得分:1)
#this will print every element in df
for i in df:
print i
此外,
for dfIndex, i in enumerate(df):
print i
print dfIndex #this will print the index of i in df
请注意,索引从0开始,而不是1。
答案 1 :(得分:1)
result=Pd.DataFrame(df1)
如果您创建这样的数据框并且不提供列,那么默认情况下首先将第一行作为列,稍后您将重命名默认创建的列。
所以请创建pd.DataFrame(df1,columns=[column_list])
。
第一行不会跳过。