如何解决Python3如何创建需要多个索引的数据框?
我想创建一个以stock1,stock2和最优为索引的数据框;
均值,标准差,锐度,重量,财富是列。我已经生成了相应的列值。在生成预期的输出时需要帮助。
输入:
stock1 = pd.Series({
'mean': mean1,'std': std1,'sharpe': mean1 / std1,'weight': w1,'wealth': stk1_wealth
})
stock2 = pd.Series({
'mean': mean2,'std': std2,'sharpe': mean2 / std2,'weight': w2,'wealth': stk2_wealth
})
optimal = pd.Series({
'mean': returns,'std': volatility,'sharpe': sharpe,'weight': w1+w2,'wealth': opt_wealth
})
stats_df = stk1_stats_df.append(stk2_stats_df).append(optimal_stats_df)
实际输出:
mean 0.00155525
std 0.0113922
sharpe 0.136519
weight 0.479314
wealth [[14555.0]]
mean 0.00188339
std 0.0124908
sharpe 0.150783
weight 0.520686
wealth [[15756.0]]
mean 0.00172611
std 0.00957114
sharpe 0.180345
weight 1
wealth 15180
dtype: object
预期输出:
mean std sharpe weight wealth
stock1 0.0016 0.0113 0.1365 0.48 14555.0
stock2 0.0018 0.0124 0.1507 0.52 15756.0
optimal 0.0017 0.0096 0.1803 1.0 15180.0
解决方法
假设要从DataFrame
对象创建全新的Series
,则需要在数据帧的构造中包括它们的index
。
>>> pd.DataFrame([stock1,stock2,optimal],index=['stock1','stock2','optimal'])
mean std sharpe weight wealth
stock1 10.0 5.0 2.0 3.0 30.0
stock2 44.0 5.0 2.0 3.0 30.0
optimal 56.0 5.0 2.0 3.0 30.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。