【pandas.core.frame.DataFrame与numpy.ndarray的区别及转换】

文章介绍了pandas.core.frame.DataFrame和numpy.ndarray两种数据结构的概念和特点,包括DataFrame的二维表格特性与ndarray的多维数组特性。文中详细阐述了如何将DataFrame转换为ndarray,提到了`to_numpy()`和`.values`两种方法,并给出了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

如何将pandas.core.frame.DataFrame格式的数据转换为numpy.ndarray格式,他们有什么区别。


一、两种数据结构的概念和特点

pandas.core.frame.DataFrame是pandas库中的一个类,它表示一个二维的、可变的、带有标签的表格型数据结构。DataFrame可以存储不同类型的对象,比如字符串、整数、浮点数、列表等。DataFrame有两个轴,分别是行(row)和列(column),每个轴都有一个索引(index),可以用来标识和访问数据。DataFrame是一种非常适合处理表格型数据的数据结构,它提供了很多方便的方法和属性,比如读取、写入、筛选、排序、分组、聚合、合并、透视等。

numpy.ndarray是numpy库中的一个类,它表示一个多维的、可变的、同质的数组型数据结构。ndarray可以存储相同类型的对象,比如整数、浮点数、布尔值等。ndarray有多个轴(axis),每个轴都有一个形状(shape),可以用来描述数组的维度和大小。ndarray是一种非常适合处理数值型数据和计算的数据结构,它提供了很多高效的方法和属性,比如创建、切片、索引、广播、运算、线性代数、统计等。

二、pandas.core.frame.DataFrame与numpy.ndarray相互转换

1.方法Ⅰ

最简单和推荐的方法是使用DataFrame.to_numpy()方法,它可以将DataFrame中的数据转换为一个ndarray对象,并返回它。你可以指定dtype参数来指定转换后的数据类型,也可以指定copy参数来决定是否复制原始数据。

代码如下(示例):
import pandas as pd
import numpy as np

# 创建一个DataFrame对象
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 转换为ndarray对象
arr = df.to_numpy()

# 打印结果
print(arr)
print(type(arr))

输出:
[[1 4 7]
 [2 5 8]
 [3 6 9]]
<class 'numpy.ndarray'>

2.方法Ⅱ

使用DataFrame.values属性,它可以返回DataFrame中的数据作为一个ndarray对象。这种方法与to_numpy()方法类似,但不支持指定dtype或copy参数。例如:

代码如下(示例):
data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
输出:
[[1 4 7]
 [2 5 8]
 [3 6 9]]
<class 'numpy.ndarray'>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值