Python3如何创建包含多个索引的数据帧?
我想创建一个以stock1、stock2和optimal作为索引的数据框架 平均值、标准差、夏普值、重量、财富是列。我已经生成了相应的列值。我需要帮助生成预期输出 输入:Python3如何创建包含多个索引的数据帧?,python,python-3.x,pandas,dataframe,indexing,Python,Python 3.x,Pandas,Dataframe,Indexing,我想创建一个以stock1、stock2和optimal作为索引的数据框架 平均值、标准差、夏普值、重量、财富是列。我已经生成了相应的列值。我需要帮助生成预期输出 输入: stock1 = pd.Series({ 'mean': mean1, 'std': std1, 'sharpe': mean1 / std1,
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
假设您想从
系列
对象创建一个全新的数据框架
,则需要在数据框架的构造中包含它们的索引
>>> 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
注:我对平均值
、标准值
等使用了不同的任意值。好了,现在可以了!非常感谢你@Algebra8我不确定如何应用,因为我收到了以下错误消息:ValueError:传递值的长度为3,索引意味着5。
之所以应用,是因为您试图将pd.Series
用作pd.DataFrame
中的一行,这就是问题所在。ValueError
可能来自代码的其他部分。从概念上讲,第一个答案中提出的配方应该可以解决您的问题。