將 pandas 資料幀轉換為 NumPy 陣列
如何將 pandas 資料幀轉換為 NumPy 數組?
使用df.to_numpy()
df.to_numpy() 是將 pandas 資料幀轉換為 NumPy 數組的建議方法。它在 Index、Series 和 DataFrame 物件上定義,並提供一致的方式來提取底層 NumPy 陣列。
import pandas as pd import numpy as np df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # Convert the entire DataFrame array = df.to_numpy() # Convert specific columns array = df[['A', 'C']].to_numpy()
傳回的陣列是原始 DataFrame 的視圖,因此對陣列進行的任何修改將反映在 DataFrame 中。若要取得副本,請使用 to_numpy(copy=True)。
保留資料型別
如果需要保留結果中的資料型別,可以使用 DataFrame .to_records() 而不是 to_numpy()。
record_array = df.to_records()
但是,請注意,to_records()傳回一個rec.array,它不是一個NumPy陣列。相反,它是一個更類似 pandas DataFrame 的結構化陣列。如果您需要保留 dtypes 的真正 NumPy 數組,可以使用 np.rec.fromrecords():
named_array = np.rec.fromrecords(v, names=v.columns.tolist())
以上是如何將 Pandas DataFrame 轉換為 NumPy 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!