【发布时间】:2019-02-16 08:36:48
【问题描述】:
假设我们有一个这样的 DataFrame:
In[1]: operinc_df
Out[1] :
ticker1 ticker2 ticker3
0 0.343573 0.654719 0.246643
1 0.186861 0.219793 0.761056
2 0.417347 0.058368 0.684918
3 0.803177 0.014781 0.896704
4 0.294515 0.488001 0.291187
5 0.402278 0.368005 0.821096
6 0.985514 0.378000 0.929529
7 1.168360 0.729640 0.347064
8 0.025802 1.337121 0.638399
9 0.019182 2.257563 0.041164
我们还有另一个具有相同行数和列数(同名)的 DataFrame:
In[2]: opex_df
Out[2] :
ticker1 ticker2 ticker3
0 1.450770 0.227986 2.243050
1 1.212298 0.406004 1.212320
2 0.918931 0.677043 0.361878
3 0.566981 1.155675 0.295542
4 0.600614 0.872015 1.129760
5 0.470118 0.730027 1.112045
6 1.489904 0.522885 0.475244
7 1.626853 0.142996 0.758590
8 0.290340 1.175891 0.591020
9 1.472838 0.107094 0.715764
我不知道如何创建另一个由operinc_df 和opex_df 组成的DataFrame fundamentals,使其看起来像下面的DataFrame(可能具有两级索引):
In[3]: fundamentals
Out[3] :
operinc_df opex_df
ticker1 0 0.343573 1.450770
ticker1 1 0.186861 1.212298
. . . .
. . . .
. . . .
ticker1 9 0.019182 1.472838
ticker2 0 0.654719 0.227986
ticker2 1 0.219793 0.406004
. . . .
. . . .
. . . .
ticker2 9 2.257563 0.107094
ticker3 0 0.246643 2.243050
ticker3 1 0.761056 1.212320
. . . .
. . . .
. . . .
ticker3 9 0.041164 0.715764
阅读Reshaping dataframes in pandas based on column labels 和Create a pandas DataFrame from multiple dicts 给了我一些见解(因为我也试图通过首先将原始DataFrames 转换为dicts 来做到这一点,用字典理解的键打包operinc_df 和opex_df,然后使用pandas.DataFrame.from_dict() 尝试创建fundamentals_df。不过,到目前为止它对我来说并没有成功。
您对我如何正确执行此操作有任何想法吗?非常感谢您。
【问题讨论】: