【发布时间】:2018-11-08 03:30:36
【问题描述】:
每次创建循环函数时,第一个函数都会出现问题:
例如:
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))
如何将所有数据集追加到一个数据框中?
【问题讨论】:
-
你在循环内做什么?您如何获取/打印结果?
-
Python 本身不会跳过值,因此问题(无论是什么)出在您的代码中 - 显然在某些部分您没有发布(for 循环的主体是一个明显的嫌疑人)。
-
我贴了一个例子
-
您希望
dps = pd.DataFrame(dps.append(results))究竟会做什么?提示 1:list.append()返回None。提示 2:在第一次执行此行之后,dps不再是list。 -
我只是想在进行一些操作后将所有数据集收集到一个数据框中