首页 > 编程语言 >Python 课程6-Pandas 和 Matplotlib库

Python 课程6-Pandas 和 Matplotlib库

时间:2024-09-13 16:51:10浏览次数:3  
标签:plt Python Matplotlib df 可视化 数据 Pandas

前言

        在数据科学和数据分析领域,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 plt

x = [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 np
    
    x = 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 进行数据可视化展示。掌握这些工具后,你将能够高效地处理大规模数据,并生成直观的图表展示数据背后的规律和趋势。无论是在数据分析、数据科学项目,还是日常数据处理任务中,这些工具都将成为你不可或缺的伙伴。

标签:plt,Python,Matplotlib,df,可视化,数据,Pandas
From: https://blog.csdn.net/tim654654/article/details/142214755

相关文章

  • 用命令检查自己电脑安装了哪些版本的python
    用命令检查自己电脑安装了哪些版本的pythonWindows:打开命令提示符(CommandPrompt)。输入以下命令:wherepython这将显示Python的安装路径,如果有多个版本,都会列出。你还可以使用py命令来查看所有已安装的Python版本:py-0这将列出所有可用的Python版本和......
  • 学Python需要用到哪些软件?
    Python作为一种功能全面且易于上手的编程语言,在数据科学、机器学习、web开发、数据分析等多个领域大放异彩。而为了帮助开发者更高效的编写Python代码,市面上也出现了许多优秀的Python软件,那么Python需要用到哪些软件?具体请看下文。要进行Python开发,需要以下软件:1、文......
  • 邮政EMS查询|通过python查询快递单号API
    快递聚合查询的优势1、高效整合多种快递信息。2、实时动态更新。3、自动化管理流程。聚合国内外1500家快递公司的物流信息查询服务,使用API接口查询邮政EMS物流的便捷步骤,首先选择专业的数据平台的快递API接口:https://www.tanshuapi.com/market/detail-68以下示例是参考的示例代码:im......
  • Python 之records教程
    目录Python之records教程一、安装二、初始化三、增,删,改,查1.增加2.删除(必须使用事务,不然不生效)3.修改(必须使用事务,不然不生效)4.查询Python之records教程一、安装pipinstallrecords二、初始化importrecords#初始化db连接,支持从环境变量DATABASE_URL读取url......
  • 学习Python如何选择合适的学校?
    近年来,由于Python语言比较火爆,掀起了一大波学习热潮,为了满足市场所需,Python培训机构应运而生。而在众多培训机构之中,选择一家适合且靠谱的机构很关键,那么学Python哪个机构好?具体请看下文。一些Python培训机构课程体系看起来很专业,但课程内容差强人意,因为老师讲课水平有限,......
  • Python “集合” 100道实战题目练习,巩固知识、检查技术
     本文主要是作为Python中列表的一些题目,方便学习完Python的列表之后进行一些知识检验,感兴趣的小伙伴可以试一试,含选择题、判断题、实战题、填空题,答案在第五章。在做题之前可以先学习或者温习一下Python的列表,推荐阅读下面这篇文章:Python全网最全基础课程笔记(九)——集合......
  • [Python数据采集]Playwright-新一代数据采集神器入门(一)
    Playwright是由Microsoft维护的一个开源自动化框架,用于跨浏览器的Web应用程序测试和数据采集。与Selenium类似,它允许开发者控制网页浏览器进行自动化任务,但Playwright提供了更现代化的功能和更高的效率,尤其在处理复杂的网页时表现出色。Playwright的核心特性跨浏......
  • IP地址、地址分类、子网掩码、子网划分、使用Python计算子网划分
    IP地址(InternetProtocolAddress)乃是用于明确标识网络中各类设备的独一无二的地址。IP地址主要存在两种重要类型,即IPv4和IPv6。IPv4地址IPv4地址实则是一个由32位二进制数字所构成的标识,通常会以四个十进制数字的形式呈现出来,每一个数字均处于0至255的区间范围内,且通......
  • 【python】爬取网站数据
    编码问题因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了。问题要从文字的编码讲起。原本的英文编码只有0~255,刚好是8位1个字节。为了表示各种不同的语言,自然要进行扩充。中文的话有GB系列。可能还听说过Unicode和UTF-8,那么,它们之间是什么关系......
  • python 获取163 邮箱的邮件信息
    此案例是是获取的一个亚马逊的验证码importtimefromimaplibimportIMAP4_SSLimportimaplib,email,datetimefromlxmlimportetreefromdateutil.parserimportparsedefstr_to_unicode(s,encoding=None):returnstr(s,encoding)ifencodingelsestr(s)def......