【发布时间】:2017-09-04 11:06:27
【问题描述】:
我有一个嵌套字典。这是纳斯达克的一些数据。像这样:
{'CLSN':
Date Open High Low Close Volume Adj Close
2015-12-31 1.92 1.99 1.87 1.92 79600 1.92
2016-01-04 1.93 1.99 1.87 1.93 39700 1.93
2016-01-05 1.89 1.94 1.85 1.90 50200 1.90,
'CCC':
Date Open High Low Close Volume Adj Close
2015-12-31 17.270000 17.389999 17.120001 17.250000 177200 16.965361
2016-01-04 17.000000 17.219999 16.600000 17.180000 371600 16.896516
2016-01-05 17.190001 17.530001 17.059999 17.450001 417500 17.162061,
}
为了帮助您理解,它是 key 后跟 values,而 values 是一个 dataframe !
在问之前,我尝试了pd.Panel(nas)['CLSN']的方式,所以我确定它的值是一个数据框。但是pd.Panel(nas).to_frame().reset_index()的方式对我一点帮助都没有!它输出一个包含数千列的空数据框,这些列由股票名称填充。
现在很麻烦,我想要一个这样的数据框:
index Date Open High Low Close Volume Adj Close CLSN 2015-12-31 1.92 1.99 1.87 1.92 79600.0 1.92
CLSN 2016-01-01 NaN NaN NaN NaN NaN NaN
ClSN 2016-01-04 1.93 1.99 1.87 1.93 39700.0 1.93
CCC 2015-12-31 17.270000 17.389999 17.120001 17.250000 177200.0 16.965361
CCC 2016-01-04 17.000000 17.219999 16.600000 17.180000 371600.0 16.896516
CCC 2016-01-05 17.190001 17.530001 17.059999 17.450001 417500.0 17.162061
当然,我可以使用for 循环来获取每只股票的数据框,但加入它们会杀了我。
你有更好的主意吗?非常愿意知道!
到 MaxU:
使用print(nas['CLSN'].head())方法后,输出如下:
Open High Low Close Volume Adj Close
Date
2015-12-31 1.92 1.99 1.87 1.92 79600 1.92
2016-01-04 1.93 1.99 1.87 1.93 39700 1.93
2016-01-05 1.89 1.94 1.85 1.90 50200 1.90
2016-01-06 1.86 1.89 1.77 1.78 62100 1.78
2016-01-07 1.75 1.80 1.75 1.77 117000 1.77
【问题讨论】:
标签: python pandas dictionary dataframe