ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

AttributeError: 'DataFrame' object has no attribute 'as_matrix'

as_matrixエラー

AttributeError: 'DataFrame' object has no attribute 'as_matrix' エラーは、pandasのバージョンの変更によって、DataFrameオブジェクトのas_matrix()メソッドが非推奨となったために発生します。

以前のバージョン

pandasでは、DataFrameオブジェクトからNumPyの配列に変換するためにas_matrix()メソッドが使用されていました。しかし、このメソッドは非推奨とされ、代わりにvalues属性を使用することが推奨されています。

対応

as_matrix()メソッドを使用する代わりに、values属性を使用してデータフレームをNumPyの配列に変換することができます。

エラーを修正例

import pandas as pd

df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array = df.values  # 代わりにvalues属性を使用

print(array)

as_matrix()メソッドがコードで使用されている場合は、values属性に置き換える必要があります。

例(scikit-learnのboston)

X = df_data[["LSTAT"]].as_matrix()
X = df_data[["LSTAT"]].values

YouTube

youtu.be