在Pandas中创建DataFrame(错误的形状)

时间:2017-06-23 16:11:29

标签: python pandas

我尝试使用以下代码在Pandas中创建DataFrame:

df_coefficients = pd.DataFrame(data = log_model.coef_, index = X.columns, 
columns = ['Coefficients'])

但是,我一直收到以下错误:

传递值的形状是(5,1),索引暗示(1,5)

价值观和指数如下:

指数=

Index([u'Daily Time Spent on Site', u'Age', u'Area Income',
       u'Daily Internet Usage', u'Male'],
      dtype='object')

值=

array([[ -4.45816498e-02,   2.18379839e-01,  -7.63621392e-06,
     -2.45264007e-02,   1.13334440e-03]])

我该如何解决这个问题?我之前已经构建了相同类型的表,但我从来没有遇到过这个错误。

任何帮助都将不胜感激。

由于

2 个答案:

答案 0 :(得分:1)

看起来你的Index和Values数组有不同的形状。如您所见,Index数组有单括号,而Values数组有双括号。

这样python将index读取为shape(5,1),而Values数组为(1,5)。

如果您输入问题所写的值:

Values =

array([[ -4.45816498e-02,   2.18379839e-01,  -7.63621392e-06,
 -2.45264007e-02,   1.13334440e-03]])

并调用Values.shape返回     Values.shape     (1,5)

相反,如果您将值设置为:

Values = np.array([ -4.45816498e-02,   2.18379839e-01,  -7.63621392e-06,
 -2.45264007e-02,   1.13334440e-03])

那么值的形状将是(5,),它将适合索引数组。

答案 1 :(得分:0)

您的数据有五列一行,而不是一列和五行。只需使用.T的转置版本:

import {Pipe} from 'angular2/core';

@Pipe({
  name: 'reverse',
  pure: false
})
export class ReversePipe {
  transform (values) {
    if (values) {
      return values.reverse();
    }
  }
}