欠損値のある Pandas データフレームを NumPy に変換する最も効率的な方法配列は df.to_numpy() を介して取得されます。 df.values のような古いメソッドに比べて、次のようないくつかの利点があります。
<code class="python">import pandas as pd import numpy as np # Create a DataFrame with missing values df = pd.DataFrame({'A': [np.nan, np.nan, 0.1, 0.1, 0.1, 0.1], 'B': [0.2, np.nan, 0.2, 0.2, np.nan, np.nan], 'C': [np.nan, 0.5, 0.5, np.nan, 0.5, np.nan]}) # Convert to a NumPy array with missing values represented as `np.nan` array = df.to_numpy() # Result: # array([[ nan, 0.2, nan], # [ nan, nan, 0.5], # [ 0.1, 0.2, 0.5], # [ 0.1, 0.2, nan], # [ 0.1, nan, 0.5], # [ 0.1, nan, nan]])</code>
to_numpy は Dtype の直接保持をサポートしていませんが、np.rec.fromrecords を使用してこの効果を実現できます。
<code class="python"># Create a DataFrame with mixed data types df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7.2, 8.1, 9.3]}) # Convert to a structured array with preserved Dtypes struct_array = np.rec.fromrecords( df.reset_index(), names=list(df.columns) + ['index'] ) # Result: # rec.array([('a', 1, 4, 7.2), ('b', 2, 5, 8.1), ('c', 3, 6, 9.3)], # dtype=[('index', '<U1'), ('A', '<i8'), ('B', '<i8'), ('C', '<f8')])</code>
以上が欠損値のある Pandas DataFrame を NumPy 配列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。