Python pandas - 尝试将 df 的字典放入面板(或将 df 项目循环到面板中)
Python pandas - trying to a dict of df's into a panel (or loop the df items into a panel)
我在数据框中有股票数据,列标题如 AAPL、AAPL_ma、MSFT、MSFT_ma -- 并且想以某种方式将数据放入带有 items = stock symbols (所以 AAPL 项目将包括 AAPL 和 AAPL_ma)。
我是 pandas 的新手,正在努力想出一个连贯的计划。我不知道我是否应该:(1) 使用 MultiIndex 功能,(2) 遍历列表以将数据写入名为股票代码的新 df,或 (3) 按符号拆分现有数据帧(例如,'AAPL' 在 'AAPL_ma').
任何方向将不胜感激。提前致谢!
更新:
在 EdChum 的建议下,我使用以下内容以字符串形式为我的 df 创建列标题的字典。不确定这是否是您的意思 - 正在进行中。
y = [df['Date']]
dict_stocks = {}
# create dict for multiindexing
for stock in list_stocks:
i=0
x=[df[stock]]
for heading in list_headings:
data_series = df[stock + list_headings[i]]
i = i + 1
x.append(data_series)
dict_stocks[stock] = y + x
上面生成了 df 的字典,尽管坐标轴不是我所期望的。但是,我没有运气:
my_panel = pd.Panel(df)
my_panel = pd.Panel.from_dict(dict_stocks)
产生错误:
--PandasError: 面板构造函数未正确调用!
--AttributeError: 'list' object 没有属性 'shape'
通往应许之地的最简单方法是创建一个多索引字典,其中的键是元组,例如 (aapl, aapl) 和 (aapl,aapl_ma),然后执行 pandas.Dataframe( ) 字典上。 http://pandas.pydata.org/pandas-docs/dev/advanced.html
如果你想做一个面板,我建议使用 EdChums 的答案,即创建一个数据框的字典,键是符号,然后你可以使用该字典创建一个带有 pandas.Panel() 的面板.
我在数据框中有股票数据,列标题如 AAPL、AAPL_ma、MSFT、MSFT_ma -- 并且想以某种方式将数据放入带有 items = stock symbols (所以 AAPL 项目将包括 AAPL 和 AAPL_ma)。
我是 pandas 的新手,正在努力想出一个连贯的计划。我不知道我是否应该:(1) 使用 MultiIndex 功能,(2) 遍历列表以将数据写入名为股票代码的新 df,或 (3) 按符号拆分现有数据帧(例如,'AAPL' 在 'AAPL_ma').
任何方向将不胜感激。提前致谢!
更新:
在 EdChum 的建议下,我使用以下内容以字符串形式为我的 df 创建列标题的字典。不确定这是否是您的意思 - 正在进行中。
y = [df['Date']]
dict_stocks = {}
# create dict for multiindexing
for stock in list_stocks:
i=0
x=[df[stock]]
for heading in list_headings:
data_series = df[stock + list_headings[i]]
i = i + 1
x.append(data_series)
dict_stocks[stock] = y + x
上面生成了 df 的字典,尽管坐标轴不是我所期望的。但是,我没有运气:
my_panel = pd.Panel(df)
my_panel = pd.Panel.from_dict(dict_stocks)
产生错误:
--PandasError: 面板构造函数未正确调用!
--AttributeError: 'list' object 没有属性 'shape'
通往应许之地的最简单方法是创建一个多索引字典,其中的键是元组,例如 (aapl, aapl) 和 (aapl,aapl_ma),然后执行 pandas.Dataframe( ) 字典上。 http://pandas.pydata.org/pandas-docs/dev/advanced.html
如果你想做一个面板,我建议使用 EdChums 的答案,即创建一个数据框的字典,键是符号,然后你可以使用该字典创建一个带有 pandas.Panel() 的面板.