web-dev-qa-db-ja.com

多重回帰モデルを構築するとエラーがスローされます: `Pandas data cast to numpy dtype of object。 np.asarray(data)で入力データを確認してください。

pandas 0と1のカテゴリカル予測子(つまり変数)といくつかの数値変数を含むデータフレームがあります。

_est = sm.OLS(y, X).fit()
_

投げる:

_Pandas data cast to numpy dtype of object. Check input data with np.asarray(data). 
_

df.convert_objects(convert_numeric=True)を使用して、DataFrameのすべてのdtypeを変換しました

この後、データフレーム変数のすべてのdtypeはint32またはint64として表示されます。しかし、最後には次のように_dtype: object_が表示されます:

_4516        int32
4523        int32
4525        int32
4531        int32
4533        int32
4542        int32
4562        int32
sex         int64
race        int64
dispstd     int64
age_days    int64
dtype: object
_

ここで、4516、4523は変数ラベルです。

何か案が?何百もの変数で多重回帰モデルを構築する必要があります。そのために、3 pandas DataFramesを連結して、モデル構築で使用する最終的なDataFrameを作成しました。

15
Sanoj

Xがデータフレームの場合、.astypeモデルの実行時にフロートに変換するメソッド:

est = sm.OLS(y, X.astype(float)).fit()
19
Daniel Gibson

両方のy(dependent)とXがデータフレームから取得される場合は、両方をキャストします。

est = sm.OLS(y.astype(float), X.astype(float)).fit()
10