ホームページ  >  記事  >  バックエンド開発  >  値が欠落している Pandas DataFrame を NumPy 配列に変換するにはどうすればよいですか?

値が欠落している Pandas DataFrame を NumPy 配列に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 12:17:29496ブラウズ

How to Convert a Pandas DataFrame with Missing Values to a NumPy Array?

欠損値を含む Pandas DataFrame を NumPy 配列に変換する

欠損値を含む Pandas DataFrame を NumPy 配列に変換することは、データ分析における一般的なタスクです。望ましい出力は、np.nan が欠損値を表すことです。

df.to_numpy() を使用する

この変換に推奨される方法は、df.to_numpy() メソッドを使用することです。

<code class="python">import numpy as np
import pandas as pd

# Create a DataFrame with missing values
index = [1, 2, 3, 4, 5, 6, 7]
a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1]
b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan]
c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan]
df = pd.DataFrame({'A': a, 'B': b, 'C': c}, index=index)

# Convert to NumPy array
np_array = df.to_numpy()
print(np_array)</code>

これは出力します:

<code class="python">array([[ nan,  0.2,  nan],
       [ nan,  nan,  0.5],
       [ nan,  0.2,  0.5],
       [ 0.1,  0.2,  nan],
       [ 0.1,  0.2,  0.5],
       [ 0.1,  nan,  0.5],
       [ 0.1,  nan,  nan]])</code>

データの保存型

出力 NumPy 配列のデータ型を保持するには、df.to_records() メソッドを使用できます:

<code class="python">records = df.to_records()
print(records.dtype)</code>

これにより、次の出力が行われます:

<code class="python">[('index', 'O'), ('A', '<f8'), ('B', '<f8'), ('C', '<f8')]</code>

ここで、O はオブジェクト型 (インデックス) を表し、f8 は float64 型 (

np.rec.fromrecords を使用すると、レコードを構造化された NumPy 配列に変換できます。

<code class="python">import numpy as np

np_array = np.rec.fromrecords(records, names=df.columns)
print(np_array.dtype)</code>

これにより、レコードと同じデータ型が出力されます。

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

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