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

news2024/11/25 11:06:29

目录

0.环境

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

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

0)前提:【需注意】

1)array转化为DataFrame

2)DataFrame转化为array

 3)完整代码


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--

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/702760.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

英语统考错题集_作文题---网络教育统考工作笔记003

scholar 学者 下面是关于统考中的作文的如何书写,要打个照面,不能到时候蒙了 sincere 真诚的 cover 覆盖 excited 激动的 兴奋的 sincerely 真诚的 absent 缺勤的 citizen 公民 居民 每种题型都接触一下,然后后面有时间继续扩充中.. 152下上

ansible 变量与事实变量

Ansible变量与事实变量: 自定义变量: 变量可以在定义任务前进行定义,也可以从其他文件中调用。 下面我写了一个在任务前定义的变量,并用循环将其打印。 内部变量: 剧本如下: --- - hosts: localhostva…

基于51单片机开发的步进电机远程控制系统

摘 要 电机是日常生活中必不可少的一部分,同时也是一种常用的机电元件。步进电机是一种特殊的电机,相较于其他类型的电机,步进电机的优点更加突出、应用优势更加明显,广泛应用于各个领域。 本设计是基于单片机开发的步进电机远程…

力扣算法刷题Day47|休息日总结:动态规划之背包问题

背包问题 〉题型分类 解题套路 〉动规五部曲 确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 解题技巧 〉递推公式 问背包装满后的最大价值:dp[j] max(dp[j], dp[j - weight[i]] value[i]) …

JMeter之简单控制线程组(Thread Group)组件的执行顺序

jmeter的线程类型一共有3种分别是setUp线程组、tearDown线程组和线程组 他们的执行优先级为 setUp线程组 > 线程组(Thread Group) > tearDown线程组 当存在多个线程组(Thread Group),jmeter默认是同时执行的,也就是说是无序的,此时如果…

蓝桥杯单片机赛点数据包模块文件使用的注意事项

目录 蓝桥杯单片机赛点数据包模块文件使用的注意事项 前言: 正文: DS1302 IIC onewire 2023年赛点资源包数据包下载地址:https://download.csdn.net/download/qq_25218501/87965408?spm1001.2014.3001.5503 蓝桥杯单片机赛点数据包模块…

redis---基础(部署及常用命令)

目录 前言一、关系型数据库与非关系型数据库1. 关系型数据库2. 非关系型数据库3. 关系型数据库和非关系型数据库区别4. 非关系型数据库产生背景小结: 二、Redis简介1. 单进程快速的原因:2.epoll 机制优势: 三、Redis 具有以下几个优点四、red…

全国农信银CTF流量分析(凯撒会分析流量吗)

总的来说这题还是挺简单的。先分析流量过滤http 发现有f?ag提示,然后分析url 解析得到 :[Request URI: http://192.168.0.111/?codeif [ $(head f?ag | cut -c 1) G ] then sleep 1 echo success 发现是时间盲注 然后过滤 http.time > 1 对过滤…

《移动互联网技术》第三章 无线定位技术:掌握位置服务和室内定位的基本概念和工作原理

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

无线路由器解决方案 MR500E工业级4G路由器可实时监控4G信号强度

近年来,随着物联网技术的快速发展,越来越多的制造企业开始加速推进工业互联网的建设和应用。作为工业互联网的重要基础设施之一,工业级4G路由器也不断迭代升级,以满足企业多样化的应用需求。 无线路由器解决方案MR500E工业4G路由…

矩阵通引入AIGC,帮助企业挖掘用户线索

据CNNIC报告数据,截止2022年6月,我国网民规模达10.51亿,其中短视频用户规模为9.62亿,网络直播用户规模达7.16亿,占网民整体的68.1%。 庞大的用户体量为直播带货奠定了基础,给品牌商家提供了新流量阵地&…

winDbg 分析dump

一、linux 部属.netcore生成dump #当然默认是不支持的,需要用 ulimit 开启,这个命令可以用来配置当前系统资源的使用额度 ulimit -a #core file size 就是用来指定生成 dump 文件的大小,默认为 0,即表示不生成,我们临…

使用gitlab 自带 CI/CD 构建部署项目

首先是处理网络问题 这里我用的是桥接模式 桥接模式方便局域网内的小伙伴一起使用 如果没有这个打算可跳过这步 # 使用ip addr 查看网络 ip addr编辑网络 vi /etc/sysconfig/network-scripts/ifcfg-你的网络名称 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改如下内容 B…

数据结构与算法:栈和队列

1 栈 栈是一种后入先出(LIFO)的线性逻辑存储结构。只允许在栈顶进行进出操作。 1.1 栈基本操作 基本操作包括:入栈(push)/出栈(pop)/获取栈顶元素(peek)。 栈的实现主…

CNN卷积类型总结(标准卷积、空洞卷积、反卷积、深度可分离卷积、分组卷积等)

目录 标准卷积 卷积的运算 conv2d conv1d 其他卷积类型 空洞卷积(膨胀卷积) 反卷积(转置卷积) 深度可分离卷积 分组卷积 参考文章 上学时,卷积常在各个课程中出现,现代、信号与系统这些&#xff…

第45步 深度学习图像识别:Nasnet建模(Tensorflow)

基于WIN10的64位系统演示 一、写在前面 (1)Nasnet NASNet是由Google Brain团队在2017年提出的一种神经网络架构搜索(Neural Architecture Search,简称NAS)的结果。NAS是一种用于自动化设计深度学习模型的技术。在NA…

oracle字符集

1、查看oracle字符集 如果操作系统或者客户端的字符集设置和数据库设置不一样就会出现乱码 查询NLS_LANG即操作系统环境变量要设为 NLS_LANGUAGE_NLS_TERRITORY**.NLS_CHARACTERSET**,如: export NLS_LANG“AMERICAN_AMERICA.AL32UTF8”

Spring MVC处理响应附案例详解

目录 一、配置视图解析器 二、控制器方法的返回值 2.1 返回值为void 2.1.1 控制器方法 2.1.2 jsp页面 2.1.3 测试结果 2.2 返回值为String 2.2.1 控制器方法 2.2.2 测试结果 2.3 返回值为ModelAndView 2.3.1 控制器方法 2.3.2 JSP页面 2.3.3 测试结果 三、某些会…

基于蒙特卡罗法评估智能电网可靠性研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

python爬虫_django+vue+echarts可视化查询所有CSDN用户质量分

文章目录 ⭐前言⭐ 效果⭐django简介⭐vue3简介⭐vue引入echarts ⭐前后分离实现💖 django代码层💖 vue3代码层结束 ⭐前言 大家好,我是yma16,本文分享关于前后分离djangovueecharts可视化查询CSDN用户质量分。 该系列文章&#…