【发布时间】:2020-04-03 02:12:07
【问题描述】:
import pandas_datareader as pdr
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
Tickers = ["XOM", "IBM", "COKE", "BA", "SPX"]
Start = '2010-01-01'
End = '2018-1-1'
Interval = "m"
d = {}
for i in Tickers:
d[i] = pd.DataFrame(pdr.get_data_yahoo(i,start= Start, end=End, interval=Interval))
r = {}
for i in d:
r[i] = pd.DataFrame(d[i].Close)
u_key = []
for i in Tickers:
u_key.append(str(i) + "_Close")
for i in r:
df = pd.DataFrame([i])
df.columns = u_key
直到最后一个循环,一切都按预期工作。下面的代码是我尝试将每个数据帧的列合并到一个新的数据帧 df 中的尝试。但是,它不起作用。 :(
如果有更简单的方法可以达到同样的目的,请指出。
提前致谢!
【问题讨论】:
-
在此示例中,在合并之前,每个数据帧中只有一列,如何处理数据帧包含许多列的情况,而我们只希望每个列都命名为“Cose”。提前致谢!
-
你想要的输出是什么?
-
你可以这样做:
df = pd.DataFrame(pdr.get_data_yahoo(Tickers, start= Start, end=End, interval=Interval)) -
@tommy.carstensen 我想要的输出是一个数据框,其中包含五个代码中每个代码的关闭列,以便我可以对 5 个代码的任何组合进行回归
-
@tommy.carstensen 感谢您的帮助
标签: python loops dataframe dictionary merge