首页 >后端开发 >Python教程 >如何将 Pandas DataFrame 转换为 NumPy 数组?

如何将 Pandas DataFrame 转换为 NumPy 数组?

Linda Hamilton
Linda Hamilton原创
2024-12-14 05:28:14194浏览

How to Convert a Pandas DataFrame to a NumPy Array?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn