欠損値を含む Pandas DataFrame を NumPy 配列に変換することは、データ分析における一般的なタスクです。望ましい出力は、np.nan が欠損値を表すことです。
この変換に推奨される方法は、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 サイトの他の関連記事を参照してください。