python中的NumPy和Pandas往往都是同时使用,NumPy和Pandas的在数据分析中的联合使用

news2024/12/23 9:43:11

在这里插入图片描述

文章目录

  • 前言
  • 一、numpy的介绍与用法
  • 二、pandas的介绍与用法
  • 三、numpy与pandas的联合使用说明
  • 四、numpy与pandas的联合使用程序代码
    • 4.1 读取CSV文件并进行数据清洗,如去除NaN值
    • 4.2 矩阵操作和特征工程,如标准化处理
    • 4.3 使用Pandas进行数据筛选和分组聚合,如计算每个人的总薪资
    • 4.4 使用NumPy进行数据重塑
    • 4.5 排序
    • 4.6 读取CSV文件并计算每列的平均值
  • 总结


前言

NumPy和Pandas是Python中两个非常重要的科学计算和数据处理库,它们可以互相配合使用,实现更高效的数据处理和分析。

一、numpy的介绍与用法

NumPy是一个用于数值计算的库,它提供了一个多维数组对象和一系列的函数,可以方便地进行数值计算、矩阵操作、数学变换等操作。以下是NumPy的一些常用功能:

创建多维数组:使用NumPy可以方便地创建二维、三维甚至更高维度的数组对象,并且可以对数组进行各种操作,如切片、索引、重塑等。

数学计算:NumPy提供了大量的数学函数,可以对数组进行各种计算,如加、减、乘、除、平方、开方等。

矩阵操作:NumPy可以方便地进行矩阵运算,如矩阵乘法、矩阵转置、矩阵求逆等。

数据处理:NumPy提供了很多数据处理函数,如求和、求平均值、求方差、排序等。

二、pandas的介绍与用法

Pandas是一个用于数据分析和处理的库,它提供了一种类似于SQL的查询语言和数据结构,可以方便地对数据进行筛选、排序、分组、聚合等操作。以下是Pandas的一些常用功能:

数据读取和导出:Pandas可以方便地从各种数据源中读取数据,如CSV文件、Excel文件、SQL数据库等,并且可以将数据导出为这些格式。

数据筛选:Pandas提供了类似于SQL的查询语言,可以方便地对数据进行筛选、过滤和排序。

数据聚合:Pandas可以将数据按照指定的列进行分组,并对每个组进行聚合操作,如求和、平均值、方差等。

数据转换:Pandas提供了很多数据转换函数,如重塑、合并、分割、映射等,可以方便地将数据进行转换和处理。

三、numpy与pandas的联合使用说明

NumPy和Pandas可以联合使用,实现更高效的数据处理和分析。

例如,可以使用NumPy创建多维数组并进行数学计算,然后将数组导入到Pandas中进行数据分析和处理

以下是一些NumPy和Pandas联合使用的例子

读取CSV文件并计算平均值:使用Pandas读取CSV文件,并使用NumPy计算每列的平均值。

矩阵乘法:使用NumPy进行矩阵乘法运算,并将结果导入到Pandas中进行数据处理。

数据重塑:使用NumPy创建多维数组并进行重塑操作,然后将结果导入到Pandas中进行数据分析和处理。

数据筛选和排序:使用Pandas对数据进行筛选和排序操作,并将结果导出到CSV文件中,然后使用NumPy读取CSV文件并进行数学计算。

数据聚合:使用Pandas将数据按照指定的列进行分组,并对每个组进行聚合操作,然后将结果导出到CSV文件中,最后使用NumPy读取CSV文件并进行数学计算。

数据转换:使用Pandas提供的数据转换函数对数据进行转换和处理,然后将结果导出到CSV文件中,最后使用NumPy读取CSV文件并进行数学计算。

随机数生成:使用NumPy生成随机数并进行数据处理,然后将结果导入到Pandas中进行可视化展示。

信号处理:使用NumPy进行信号处理操作,如傅里叶变换等,然后将结果导入到Pandas中进行数据处理和分析。

四、numpy与pandas的联合使用程序代码

4.1 读取CSV文件并进行数据清洗,如去除NaN值

import numpy as np  
import pandas as pd  
  
data = pd.read_csv('data.csv')  
clean_data = np.nan_to_num(data)  
print(clean_data)

4.2 矩阵操作和特征工程,如标准化处理

import numpy as np  
import pandas as pd  
from sklearn.preprocessing import StandardScaler  
  
data = pd.read_csv('data.csv')  
scaled_data = StandardScaler().fit_transform(data)  
print(scaled_data)

4.3 使用Pandas进行数据筛选和分组聚合,如计算每个人的总薪资

import numpy as np  
import pandas as pd  
  
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Alice', 'Bob'], 'Age': [25, 20, 30, 35, 40, 45], 'Salary': [50000, 60000, 70000, 80000, 90000, 100000]}  
df = pd.DataFrame(data)  

grouped_df = df.groupby('Name')['Salary'].sum()  
print(grouped_df)

4.4 使用NumPy进行数据重塑

import numpy as np  
import pandas as pd  
  
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])  
df = pd.DataFrame(data, columns=['A', 'B', 'C'])  
重塑_df = df.pivot(index='A', columns='B', values='C')  
print(重塑_df) 

4.5 排序

import numpy as np  
import pandas as pd  
  
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 20, 30, 35], 'Salary': [50000, 60000, 70000, 80000]}  
df = pd.DataFrame(data)  
排序_df = df.sort_values('Salary', ascending=False)  
print(排序_df)

4.6 读取CSV文件并计算每列的平均值

import numpy as np  
import pandas as pd  
  
data = pd.read_csv('data.csv')  
mean_values = np.mean(data, axis=0)  
print(mean_values)

总结

NumPy和Pandas联合使用可以实现更高效的数据处理和分析。NumPy提供了强大的数值计算功能,可以快速地进行矩阵计算和数学运算,而Pandas则提供了数据清洗和分析工具,可以方便地对数据进行筛选、排序、聚合等操作。

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

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

相关文章

ogrinfo不是内部或者外部命令

这个是GDAL的问题,我是通过OSGeo4w安装的,出来就是这个问题,教程没有仔细看干。 第一次安装,选择express install!!!! 第一次安装,选择express install!&…

代码随想录算法训练营第三十九天【动态规划part02】 | 62.不同路径、63. 不同路径 II

62.不同路径 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 动规五部曲 确定dp数组及其下标含义:dp[i][j] 表示从(0,0)出发,到(i,j&#x…

【算法】最短路径——弗洛伊德 (Floyd) 算法

目录 1.概述2.代码实现3.扩展3.应用 1.概述 (1)弗洛伊德 (Floyd) 算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与 Dijkstra 算法类似。该算法名称以创始人之一、1978 年图灵奖获得者、…

Matalab插值详解和源码

转载:Matalab插值详解和源码 - 知乎 (zhihu.com) 插值法 插值法又称“内插法”,是利用函数f (x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f (x)的近似值,这种方…

腾讯云服务器租用价格,腾讯云服务器价格流量怎么算?

首先,让我们来看看腾讯云服务器租用价格。根据您的需求不同,腾讯云提供了多种不同的配置选项,从轻量级应用服务器到高性能的GPU服务器,都可以满足您的需求。以下是一些常见的腾讯云服务器租用价格: 一、腾讯云服务器租…

VPN创建连接 提示错误 628: 在连接完成前,连接被远程计算机终止。

提示错误 628: 在连接完成前,连接被远程计算机终止。 需要把这个地址配置一下: VPN类型:点对点PPTP 数据加密:如果没有加密的话, 要把这个选一下。

Flask 接口

目录 前言 代码实现 简单接口实现 执行其它程序接口 携带参数访问接口 前言 有时候会想着开个一个接口来访问试试,这里就给出一个基础接口代码示例 代码实现 导入Flask模块,没安装Flask 模块需要进行 安装:pip install flask 使用镜…

LeetCode——字符串(Java)

字符串 简介[简单] 344. 反转字符串[简单] 541. 反转字符串 II[中等] 151. 反转字符串中的单词 简介 记录一下自己刷题的历程以及代码。写题过程中参考了 代码随想录。会附上一些个人的思路,如果有错误,可以在评论区提醒一下。 [简单] 344. 反转字符串…

AIGC创作系统ChatGPT源码,AI绘画源码,支持最新GPT-4-Turbo模型,支持DALL-E3文生图

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

课程设计(毕业设计)—基于机器学习(CNN+opencv+python)的车牌识别—(可远程调试)计算机专业课程设计(毕业设计)

基于机器学习(CNNopencvpython)的车牌识别 下载本文机器学习(CNNopencvpython)的车牌识别系统完整的代码和参考报告链接(或者可以联系博主koukou(壹壹23七2五六98),获取源码和报告)https://download.csdn.net/download/shooter7/88548767此处…

操作系统·进程同步

进程同步:异步环境下的一组并发进程因直接制约而互相发送消息、互相合作、互相等待,使得各进程按照一定的速度执行的过程。 进程同步的主要任务是使并发执行的诸进程之间能有效地共享资源和相互合作,使执行的结果具有可再现性。 4.1 进程同…

智慧城市指挥中心,大屏幕究竟有什么用?

目前很多地区有在兴建智慧城市的项目,其城市指挥中心内一般都建有一张巨大的屏幕,这张屏幕究竟有什么用?是否可以用普通的电脑显示器进行代替呢? 智慧城市指挥中心内的巨大屏幕是智慧城市项目中的重要组成部分,其作用不…

​软考-高级-系统架构设计师教程(清华第2版)【第14章 云原生架构设计理论与实践(P496~526)-思维导图】​

软考-高级-系统架构设计师教程(清华第2版)【第14章 云原生架构设计理论与实践(P496~526)-思维导图】 课本里章节里所有蓝色字体的思维导图

Springboot+vue的应急物资管理系统(有报告),Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的应急物资管理系统(有报告),Javaee项目,springboot vue前后端分离项目 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。…

【GUI】-- 09 JComboBox JList、JTextField JPasswordField JTextArea

GUI编程 03 Swing 3.6 列表 下拉框 package com.duo.lesson06;import javax.swing.*; import java.awt.*;public class ComboBoxDemo01 extends JFrame {public ComboBoxDemo01() throws HeadlessException {Container contentPane getContentPane();JComboBox<Object&…

Flutter 3.16 中带来的更新

Flutter 3.16 中带来的更新 目 录 1. 概述2. 框架更新2.1 Material 3 成为新默认2.2 支持 Material 3 动画2.3 TextScaler2.4 SelectionArea 更新2.5 MatrixTransition 动画2.6 滚动更新2.7 在编辑菜单中添加附加选项2.8 PaintPattern 添加到 flutter_test 3. 引擎更新&#xf…

STM32 HAL库函数HAL_SPI_Receive_IT和HAL_SPI_Receive的区别

背景 前段时间开发一个按键板驱动&#xff0c;该板用的STM32F103系列单片机&#xff0c;前任工程师用STM32CubeMX生成的工程&#xff0c;里面全是HAL库调用&#xff0c;我接手后&#xff0c;学习了下HAL库的用法&#xff0c;踩坑不少&#xff0c;特别是带IT后缀的函数&#xf…

S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)

S7-1200PLC作为MODBUSTCP服务器端通信编程应用&#xff0c;详细内容请查看下面文章链接&#xff1a; ModbusTcp通信(S7-1200PLC作为服务器端)-CSDN博客文章浏览阅读239次。S7-200Smart plc作为ModbusTcp服务器端的通信S7-200SMART PLC ModbusTCP通信(ModbusTcp服务器)_s7-200 …

基于MS16F3211芯片的触摸控制灯的状态变化和亮度控制(11.17,PWM控制与状态切换)

1.今天做了什么 2.过程思路 看了两天文档才慢慢看懂&#xff0c;有点满了 现在接着前一天的思路&#xff0c;可以通过代码来控制pwm的占空比。我这里采用的是TP0定时器 初步控制pwm的占空比 void LED_PWM_OPEN(void) {//占空比 PWM1-Y-PB2PWM1DH 0X0F;PWM1DL 0X00; //占…

python3:turtle绘图 .2023-11-18

绘制一个菱形:四边相等且都为200像素;四个内角两边各为60度,上下各为120度 import turtle #导入turtle #画笔默认绘制方向为水平向右 turtle.right(-30) #画笔绘制方向向左(逆时针)旋转30度. turtle.fd(200) #画笔沿绘制方向绘制200像素长度 turtle.right(60) #画笔绘制方向在…