【python】numpy的array数组与pandas的DataFrame表格互相转换(图文代码超详细)

目录


0.环境

windows + jupyter notebook测试代码 + python语言

1.array数组和DataFrame表格的简单介绍

首先我们要知道,array类型的数组是来自于numpy库,

DataFrame类型的表格是来自于pandas库。

在python中,`numpy`的`array`数据类型和`pandas`的`DataFrame`数据类型都是用于存储和操作数据的数据结构,但它们在一些方面有所不同:

  1. `numpy`的`array`数据类型是一个多维数组,它由相同类型的元素组成,并且支持各种数学和科学计算,例如线性代数、傅里叶变换等。`numpy`的`array`数据类型可以是一维、二维或更高维度的,可以存储数字、字符串、布尔值等各种数据类型。
  2. `pandas`的`DataFrame`数据类型是一个二维表格,由行和列组成,每列可以是不同的数据类型,例如数字、字符串、布尔值等。`DataFrame`适用于数据分析和数据处理,例如数据清洗、数据转换、数据过滤、排序、分组和聚合等操作。除了二维表格之外,`pandas`还提供了一种名为`Series`的一维数据结构,类似于带标签的数组。
  3. 总之,`numpy`的`array`适用于数学和科学计算,而`pandas`的`DataFrame`适用于数据分析和数据处理

2.转换方式详解(代码)

0)前提:【需注意】

需要导入numpy库和pandas库

代码:

import numpy as np
import pandas as pd

1)array转化为DataFrame

思路:

先用numpy的random方法随机生成一个三行三列的数组(arr),

然后用pandas的【pandas.DataFrame()】方法将arr转化为DataFrame表格并打印

代码如下:

### 一、numpy的array转化为pandas的DataFrame
# 1.用numpy创建一个三行三列的随机数组arr
arr = np.random.rand(3, 3)

# 2.打印数组arr和数组的类型
print("1.随机数组arr为:")
print(arr)
print("2.arr数组类型为:")
print(type(arr))
print("\n")
# 3.将arr数组转化为pandas的DataFrame表格
df = pd.DataFrame(arr)

# 4.打印转化后的表格和类型
print("3.转化后的表格df为:")
print(df)
print("4.df表格类型为:")
print(type(df))
print("\n")

结果:

2)DataFrame转化为array

思路:

将刚才转化成DataFrame格式的df变量通过numpy的【numpy.array()】方法转化为数组

代码:

### 二、pandas的DataFrame转化为numpy的array
# 5.将df(pandas的DataFrame)转化为numpy的array格式,并打印
arr2 = np.array(df)
print("5.转化后的arr2数组为:")
print(arr2)
print("6.arr2数组类型为:")
print(type(arr2))

结果:

 3)完整代码

import numpy as np
import pandas as pd

### 一、numpy的array转化为pandas的DataFrame
# 1.用numpy创建一个三行三列的随机数组arr
arr = np.random.rand(3, 3)

# 2.打印数组arr和数组的类型
print("1.随机数组arr为:")
print(arr)
print("2.arr数组类型为:")
print(type(arr))
print("\n")
# 3.将arr数组转化为pandas的DataFrame表格
df = pd.DataFrame(arr)

# 4.打印转化后的表格和类型
print("3.转化后的表格df为:")
print(df)
print("4.df表格类型为:")
print(type(df))
print("\n")

### 二、pandas的DataFrame转化为numpy的array
# 5.将df(pandas的DataFrame)转化为numpy的array格式,并打印
arr2 = np.array(df)
print("5.转化后的arr2数组为:")
print(arr2)
print("6.arr2数组类型为:")
print(type(arr2))

 

–END–

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年9月1日
下一篇 2023年9月1日

相关推荐