将 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中文网其他相关文章!