Numpy 在异构阵列上调用preprocessing.scale

Numpy 在异构阵列上调用preprocessing.scale,numpy,scikit-learn,Numpy,Scikit Learn,我有这个TypeError如下所示,我已经检查了我的df并且它都只包含数字,这会在我转换成numpy数组时引起吗?转换后,数组中有如下项 [Timestamp('1993-02-11 00:00:00') 28.1216 28.3374 ...] 有什么建议可以解决这个问题吗 df: Date Open High Low Close Volume 9 1993-02-11 28.1216 28.33

我有这个
TypeError
如下所示,我已经检查了我的
df
并且它都只包含数字,这会在我转换成numpy数组时引起吗?转换后,数组中有如下项

[Timestamp('1993-02-11 00:00:00') 28.1216 28.3374 ...]
有什么建议可以解决这个问题吗

df:           
    Date      Open      High       Low     Close     Volume  
9    1993-02-11   28.1216   28.3374   28.1216   28.2197      19500  
10   1993-02-12   28.1804   28.1804   28.0038   28.0038      42500  
11   1993-02-16   27.9253   27.9253   27.2581   27.2974     374800  
12   1993-02-17   27.2974   27.3366   27.1796   27.2777     210900  

X = np.array(df.drop(['High'], 1))
X = preprocessing.scale(X)

TypeError: float() argument must be a string or a number

当您说您的数据帧“全部仅包含数字”时,您还注意到第一列由datetime对象组成。错误是告诉您只希望使用浮点值

然而,真正的问题是你希望从一开始就发生什么<代码>预处理。比例将值集中在平均值上,并将方差标准化。这使得测量的数量都在大致相同的基础上表示。现在,第一列告诉您数据对应的日期,而其余列本身就是数字数据。为什么要将日期正常化?你将如何使日期正常化

从语义上讲,我认为你应该把约会对象放在一边。无论您计划对数值数据执行何种后处理,标准化数据仍应按原始日期进行参数化。如果你也想处理你的日期,你需要想出一个明确的方法来处理你的日期到一些数字(比如,)

所以我认为你应该把你的约会从你的处理回合中完全去掉,从

X = df.drop(['Date','High'], 1).as_matrix()

当您说您的数据帧“全部仅包含数字”时,您还注意到第一列由datetime对象组成。错误是告诉您只希望使用浮点值

然而,真正的问题是你希望从一开始就发生什么<代码>预处理。比例将值集中在平均值上,并将方差标准化。这使得测量的数量都在大致相同的基础上表示。现在,第一列告诉您数据对应的日期,而其余列本身就是数字数据。为什么要将日期正常化?你将如何使日期正常化

从语义上讲,我认为你应该把约会对象放在一边。无论您计划对数值数据执行何种后处理,标准化数据仍应按原始日期进行参数化。如果你也想处理你的日期,你需要想出一个明确的方法来处理你的日期到一些数字(比如,)

所以我认为你应该把你的约会从你的处理回合中完全去掉,从

X = df.drop(['Date','High'], 1).as_matrix()

这个错误是不言自明的:它不能处理datetime对象或任何日期。这个错误是不言自明的:它不能处理datetime对象或任何日期。