提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
如何将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'>