ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrame を NumPy 配列に効率的に変換するにはどうすればよいですか?

Pandas DataFrame を NumPy 配列に効率的に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-20 06:15:10161ブラウズ

How to Efficiently Convert Pandas DataFrames to NumPy Arrays?

pandas データフレームを NumPy 配列に変換


df.to_numpy() が推奨される理由


使用するdf.to_numpy() は、pandas オブジェクトから NumPy 配列を取得する一貫した信頼性の高い方法を提供するため、推奨されるメソッドです。これは Index、Series、DataFrame オブジェクトで定義されており、デフォルトでは基になるデータのビューを返します。つまり、NumPy 配列に加えられた変更は pandas オブジェクトにも反映されます。データのコピーが必要な場合は、copy=True パラメーターを使用できます。


df.values は現在のバージョンの pandas では非推奨にはならないことに注意してください。新しいコードには df.to_numpy() を使用し、できるだけ早く新しい API に移行することをお勧めします。


pandas データフレームを NumPy 配列に変換するときに dtype を保持するには、DataFrame.to_records() メソッドを使用できます。


pandas を pd としてインポート<br>numpy をインポートnp</p>
<p>インデックス = [1, 2, 3, 4, 5, 6, 7]<br>a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1] <br>b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan]<br>c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan]<br>df = pd.DataFrame({'A': a, 'B': b, 'C': c}, インデックス=インデックス)<br>df = df.rename_axis('ID')</p>
<h1>保持された dtypes を使用して DataFrame を NumPy 配列に変換します</h1>
<p>array = df.to_records()</p>
<h1>NumPy を出力しますarray</h1>
<p>print(array)<br>

コードの出力は次のとおりです:


<br> rec.array([('ID', 'インデックス', 'A', 'B', 'C')]</p>
<pre class="brush:php;toolbar:false">           [1, 'a', nan, 0.2, nan],
           [2, 'b', nan, nan, 0.5],
           [3, 'c', nan, 0.2, 0.5],
           [4, 'd', 0.1, 0.2, nan],
           [5, 'e', 0.1, 0.2, 0.5],
           [6, 'f', 0.1, nan, 0.5],
           [7, 'g', 0.1, nan, nan]),
      dtype=[('ID', '<i8'), ('index', 'O'), ('A', '<f8'), ('B', '<f8'), ('C', '<f8')])


ご覧のとおり、NumPy 配列は DataFrame 内の列の dtype を保持します。

以上がPandas DataFrame を NumPy 配列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。