我正在尝试转换下面的pandas数据框,
pd.DataFrame({'PE': [115.45, 8], 'PE FY1': [11, 12], 'EV/Sales':[0.4, 1.9], 'EV/EBIT':[16, 9.8],
'EV/EBITDA': [10.8, 7.5]})
到一个np.array但在多个方括号内 - 如下所示 - 但到目前为止还不成功。我不确定这个结构的正确名称,但需要在此为scikit学习。我在下面的工作是为了我想做的事情,只是到达那里。
q = np.array([[[115.45,11.00,0.40,16.00,10.80]], [[8.00,12.00,1.90, 9.80,7.50]]])
无论我尝试什么,我最终都会在错误的位置使用普通括号或者IndexError:元组索引超出范围,因为我通过回归器和树解释器运行它 - 如下所示
Latest_feature_values = pd.DataFrame({'PE': [115.45, 8], 'PE FY1': [11, 12], 'EV/Sales':[0.4, 1.9], 'EV/EBIT':[16, 9.8],
'EV/EBITDA': [10.8, 7.5]})
Latest_feature_values = np.array(Latest_feature_values.values)
答案 0 :(得分:2)
v = df.values
v
array([[ 115.45, 11. , 0.4 , 16. , 10.8 ],
[ 8. , 12. , 1.9 , 9.8 , 7.5 ]])
如果使用多个括号,表示您希望将尺寸扩展1(以便获得形状(2, 1, 5)
的输出),则可以选择几个选项 -
np.expand_dims(v, 1)
或者,
v[:, np.newaxis]
或者,
v[:, None]
或(仅限于2D阵列,需要更改N-D阵列),
i, j = v.shape
v.reshape((i, 1, j))
array([[[ 115.45, 11. , 0.4 , 16. , 10.8 ]],
[[ 8. , 12. , 1.9 , 9.8 , 7.5 ]]])