Python 课程6-Pandas 和 Matplotlib库

前言

        在数据科学和数据分析领域,PandasMatplotlib 是两个最常用的 Python 库。Pandas 主要用于数据处理和分析,而 Matplotlib 则用于数据的可视化。它们的结合能够帮助我们快速、直观地展示数据的趋势和规律。在这篇详细的教程中,教程中将为你介绍 Pandas 和 Matplotlib 的所有常用指令,涵盖从数据导入、处理到可视化的全过程,并附带可视化图形的效果图,让你全面掌握这两个强大工具。


目录

  1. Pandas 与 Matplotlib 概述
  2. Pandas 数据处理常用指令
    • 数据导入与导出
    • 数据清洗与操作
    • 数据聚合与变形
  3. Matplotlib 可视化常用指令
    • 常用图表类型
    • 图表自定义与美化
  4. Pandas 与 Matplotlib 实战:数据分析与可视化

1. Pandas 与 Matplotlib 概述

Pandas

        Pandas 是 Python 中用于数据处理和分析的库,提供了强大的数据结构和丰富的函数来处理表格数据和时间序列数据。它能够高效地进行数据清洗、数据筛选、数据聚合等操作,并与其他库(如 NumPy、Matplotlib)无缝集成。

Matplotlib

        Matplotlib 是一个用于生成静态、动态和交互式图形的 Python 库。它提供了丰富的绘图接口,能够生成多种图表,包括折线图、柱状图、散点图、直方图等。通过 Matplotlib,你可以将 Pandas 处理后的数据进行可视化展示,从而更好地理解和解释数据。


2. Pandas 数据处理常用指令

数据导入与导出

  • read_csv():从 CSV 文件读取数据。

    import pandas as pd
    df = pd.read_csv('data.csv')
    print(df.head())  # 查看前5行数据
    

  • to_csv():将 DataFrame 导出为 CSV 文件。

    df.to_csv('output.csv', index=False)
    

  • read_excel()to_excel():读取和保存 Excel 文件。

    df_excel = pd.read_excel('data.xlsx')
    df_excel.to_excel('output.xlsx', index=False)
    

数据清洗与操作

  • dropna():删除缺失值。

    df_clean = df.dropna()
    

  • fillna():用指定的值填充缺失值。

    df_filled = df.fillna(0)
    

  • replace():替换数据中的特定值。

    df_replaced = df.replace({'Male': 'M', 'Female': 'F'})
    

  • 条件筛选:基于条件筛选数据。

    filtered_df = df[df['age'] > 30]
    

数据聚合与变形

  • groupby():按特定列分组并计算聚合函数。

    grouped_df = df.groupby('gender')['age'].mean()
    

  • agg():对分组数据执行多个聚合操作。

    agg_df = df.groupby('gender')['age'].agg(['mean', 'max'])
    

  • pivot_table():创建数据透视表。

    pivot_df = df.pivot_table(values='salary', index='gender', columns='department', aggfunc='mean')
    

  • concat()merge():连接或合并 DataFrame。

    df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
    df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
    merged_df = pd.merge(df1, df2, on='A')
    

    3. Matplotlib 可视化常用指令

    常用图表类型

  • 折线图(Line Plot)

import matplotlib.pyplot as pltx = [1, 2, 3, 4, 5]
y = [10, 15, 13, 18, 16]plt.plot(x, y)
plt.title("折线图示例")
plt.xlabel("X 轴")
plt.ylabel("Y 轴")
plt.show()

 输出:

  •  柱状图(Bar Plot)
    categories = ['A', 'B', 'C', 'D']
    values = [5, 7, 3, 8]plt.bar(categories, values)
    plt.title("柱状图示例")
    plt.xlabel("类别")
    plt.ylabel("值")
    plt.show()
    

输出:

  • 散点图(Scatter Plot)

    import numpy as npx = np.random.rand(50)
    y = np.random.rand(50)plt.scatter(x, y)
    plt.title("散点图示例")
    plt.xlabel("X 轴")
    plt.ylabel("Y 轴")
    plt.show()
    

输出:

  • 直方图(Histogram)

data = np.random.randn(1000)plt.hist(data, bins=30, alpha=0.5)
plt.title("直方图示例")
plt.xlabel("值")
plt.ylabel("频率")
plt.show()

输出:

  • 饼图(Pie Chart)

labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title("饼图示例")
plt.show()

输出:

图表自定义与美化

  • 图例(Legend)

    plt.plot(x, y, label='数据线')
    plt.legend()
    

  • 颜色(Color)

    plt.plot(x, y, color='red')  # 使用红色线条
    

  • 线型(Line Style)

    plt.plot(x, y, linestyle='--')  # 虚线
    

  • 标记(Marker)

    plt.plot(x, y, marker='o')  # 圆点标记
    

 4. Pandas 与 Matplotlib 实战:数据分析与可视化

         让我们通过一个综合的例子,将 Pandas 数据处理和 Matplotlib 数据可视化结合起来,完成一个完整的数据分析过程。

import pandas as pd
import matplotlib.pyplot as plt# 读取数据
df = pd.read_csv('data.csv')# 数据清洗:删除缺失值
df_clean = df.dropna()# 数据分析:按性别分组计算平均工资
grouped_df = df_clean.groupby('gender')['salary'].mean()# 数据可视化:生成柱状图
grouped_df.plot(kind='bar', color=['blue', 'orange'])
plt.title("按性别分组的平均工资")
plt.xlabel("性别")
plt.ylabel("平均工资")
plt.show()

输出:

        这个示例展示了如何使用 Pandas 进行数据处理,并使用 Matplotlib 将结果以柱状图的形式进行可视化展示。通过这种方式,你可以快速生成专业的可视化图表并分析数据的潜在规律。


结论

        通过本教程,你已经学习了如何结合使用 Pandas 进行数据清洗和分析,Matplotlib 进行数据可视化展示。掌握这些工具后,你将能够高效地处理大规模数据,并生成直观的图表展示数据背后的规律和趋势。无论是在数据分析、数据科学项目,还是日常数据处理任务中,这些工具都将成为你不可或缺的伙伴。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶:LQR、ILQR和DDP原理、公式推导以及代码演示(六、ILQR正则化和line search)

(六)ILQR正则化和line search 1. ILQR正则化 在iLQR中,我们通常线性化系统动力学并对目标函数进行二阶近似。在反向传播步骤中,我们需要计算逆矩阵(控制变量对目标函数的二阶导数矩阵),用以更…

驰域货车四路监控ts视频格式化恢复方法

不少大货车都使用了驰域货车监控,一般是至少装四路,前后左右,有的还会车顶加一路。驰域货车记录仪特殊的地方在于:其采用了一种上古时期的视频格式----TS视频流。 故障存储: 128G卡/fat32 故障现象: 客户提供的信息是格式化后…

软件安装攻略:EmEditor编辑器下载安装与使用

EmEditor是一款在Windows平台上运行的文字编辑程序。EmEditor以运作轻巧、敏捷而又功能强大、丰富著称,得到许多用户的好评。Windows内建的记事本程式由于功能太过单薄,所以有不少用户直接以EmEditor取代,emeditor是一个跨平台的文本编辑器&a…

【STM32】外部中断

当程序正常运行执行main函数,此时如果外部中断来了,执行外部中断函数,实现相应的功能,然后就可以回到main. 一般stm32芯片每个引脚都有自己的外部中断,但是为了限制,会有一个中断线,对应一个中断…

搭建内网文件服务器(FTP),以及实现内网Gitee

一、实现windows搭建FTP,实现文件共享和管理 具体步骤: 1.打开控制面板,搜索功能 2.打开这几个配置 3.打开IIS,添加FTP站点即可 二、实现内网Gitee 参考博客: Gitblit服务器搭建及Git使用-CSDN博客 jdk1.8.0的安…

零基础国产GD32单片机编程入门(二十五)USB口介绍及CDC类虚拟串口通讯详解及源码

文章目录 一.概要二.USB2.0基本介绍及虚拟串口介绍三.GD32单片机USB模块框图四.GD32单片机USB设备模式五.GD32F103C8T6 USB设备CDC类六.配置一个USB虚拟串口收发例程七.工程源代码下载八.小结 一.概要 GD32F103C8T6 USB虚拟串口是一种采用GD32F103C8T6单片机,通过U…

vscode中使用go环境配置细节

1、在docker容器中下载了go的sdk 2、在/etc/profile.d/go.sh里填入如下内容: #!/bin/bashexport GOROOT/home/ud_dev/go export PATH$GOROOT/bin:$PATH3、设置go env go env -w GOPROXYhttps://goproxy.cn,direct go env -w GO111MODULEon 4、重启这个容器&#…

Java之ArrayList

1.ArrayList的简介 在集合框架中,ArrayList是一个普通的类,实现了List接口,具体框架图如下: ArrayList是以泛型方式实现的,使用时必须要先实例化ArrayList实现了RandomAccess接口,表明ArrayList支持随机…

springboot对数据库进行备份+对一个文件夹内的文件按时间排序,只保留最近的8个文件

首先,对数据库进行备份,用到的命令: mysqldump --opt -h 192.168.1.200 --userroot --passwordxxx --result-fileE://data//20240911141400.sql --default-character-setutf8 xxx(数据库名) 直接上代码 配置文件部分…

速通GPT-3:Language Models are Few-Shot Learners全文解读

文章目录 GPT系列论文速通论文实验总览1. 任务设置与测试策略2. 任务类别3. 关键实验结果4. 数据污染与实验局限性5. 总结与贡献 Abstract1. 概括2. 具体分析3. 摘要全文翻译4. 为什么不需要梯度更新或微调⭐ Introduction1. 概括2. 具体分析3. 进一步分析 Approach1. 概括2. 具…

app抓包 chrome://inspect/#devices

一、前言: 1.首先不支持flutter框架,可支持ionic、taro 2.初次需要翻墙 3.app为debug包,非release 二、具体步骤 1.谷歌浏览器地址:chrome://inspect/#devices qq浏览器地址:qqbrowser://inspect/#devi…

C++:C++的IO流

✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 C语言的输入与输出 二 流 三 CIO流 ​编辑 3.1 C标准IO流 3.2 C文件IO流 3.3 stringstream的简单介绍 四 CIO流的效率问题 总结 前言 本篇详细介绍了进一步介绍C中的IO流&#…

点可云ERP进销存V8版本PHPstudy(小皮)安装讲解

安装视频讲解链接: 点可云ERP教程 - PHPstudy安装篇_哔哩哔哩_bilibili 1、下载准备 PHPstudy可在官网下载(https://www.xp.cn/)不推荐在Linux系统安装小皮面板,Linux系统还是使用宝塔较好, 在PHPstudy官网下载时需要…

Rust运算符

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) https://blog.csdn.net/brucexia/category_12779443.html 前面已经学习了变量和常量,本节开始对它们进行操作&#xff0c…

第三方软件测评机构分享:软件性能测试的测试方法和内容

软件性能测试是对软件系统在特定负载和条件下的性能进行评估的过程。它旨在确定软件的响应时间、稳定性、资源消耗及其可扩展性,以确保其在实际环境中能够满足用户的需求。通过性能测试,开发团队能够发现潜在的瓶颈问题,优化应用程序架构&…

前端:JavaScript 实现类

文章目录 1. Es6-类-class2. Es6-class 实现继承3. Es6-class 静态属性和私有属性4. Es5-寄生组合式继承 1. Es6-类-class 类是创建对象的模板,用代码封装数据以处理该数据,js中的类建立在原型上。 如何定义类,首先需要关键字 class&#x…

聊天组件 Vue3-beautiful-chat

前言 最近很多公司都在搞大模型,类似于 chatgpt 的功能;而 chatgpt 的界面其实就是个对话框。今天就介绍一个不错的对话框组件 Vue3-beautiful-chat 项目框架 vite vue3 TS Vue3-beautiful-chat 使用流程 1、引用三方件 npm install Vue3-beaut…

【JAVA基础】实现Tomcat基本功能

文章目录 TCP/IP协议Socket编程ServletTomcat 在搜索了两三天之后,也是大概弄懂了Tomcat是个什么东西,我们在说Tomcat之前,先来了解一下下面这三个东西: TCP/IP协议 TCP/IP 是互联网通信的基础协议。TCP(传输控制协议…

SpringBoot框架下的房产销售系统开发

第一章 绪 论 1.1背景及意义 房产销售也都将通过计算机进行整体智能化操作,对于房产销售系统所牵扯的管理及数据保存都是非常多的,例如管理员;首页、个人中心、用户管理、销售经理管理、房源信息管理、房源类型管理、房子户型管理、交易订单管…

《Python青少年趣味编程108例》书籍介绍

文章目录 前言为什么选择Python?书籍介绍文章目录配套资源 前言 在这个数字化飞速发展的时代,编程已经成为了一项不可或缺的技能。对于青少年而言,学习编程不仅能够培养逻辑思维、解决问题的能力,还能激发无限创意,让…