Python的pandas库基础知识超详细教程

 更新时间:2025年09月26日 14:42:23   作者:小星袁  
Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能,与Matplotlib集成实现可视化,广泛应用于金融、统计等领域,本文给大家介绍Python的pandas库基础知识超详细教程,感兴趣的朋友跟随小编一起看看吧

Pandas是Python中用于数据处理和分析的核心库,提供了快速、灵活且明确的数据结构,主要包括一维的Series和二维的DataFrame。它支持从CSV、Excel、SQL等多种数据源导入数据,并具备数据清洗、合并、重塑、分组统计、时间序列分析等功能。Pandas还易于与其他Python数据分析库集成,是金融、统计、社会科学和工程等领域进行数据分析和处理的强大工具。

一、配置环境

在命令行中运行以下命令:

pip show pandas

 如果为以下内容,则表示未安装pandas库

要安装Pandas库,你可以使用Python的包管理工具pip。在命令行界面(例如终端、命令提示符或Anaconda Prompt,取决于你的操作系统和Python安装方式)中,输入以下命令: 

pip install pandas

安装成功展示图: 

二、序列和数据表

2.1 初始化

         Series可以存储任何数据类型,例如整数、浮点数、字符串、python对象等,每个元素都有一个索引。

import pandas as pd
A = pd.Series(data = [1, 2, 3, 4, 5], index = ["A", "B", "C", "D", "E"], name = "A1")
print(A)

2.2  获取数值

import pandas as pd
A = pd.Series(data = [1, 2, 3, 4, 5], index = ["A", "B", "C", "D", "E"], name = "A1")
print(A)
print("数值:", A.values)

2.3 获取索引

import pandas as pd
A = pd.Series(data = [1, 2, 3, 4, 5], index = ["A", "B", "C", "D", "E"], name = "A1")
print(A)
print("索引:", A.index)

2.4 索引取内容

import pandas as pd
A = pd.Series(data = [1, 2, 3, 4, 5], index = ["A", "B", "C", "D", "E"], name = "A1")
print(A)
print(A[["A", "C"]])

2.5 索引改变取值

import pandas as pd
A = pd.Series(data = [1, 2, 3, 4, 5], index = ["A", "B", "C", "D", "E"], name = "A1")
print(A)
A[["A", "C"]] = [11, 12]
print(A)

2.6 字典生成序列

import pandas as pd
A = pd.Series({"A":1, "B":2, "C":3, "D":4})
print(A)

2.7 计算取值出现次数

import pandas as pd
A = pd.Series({"A":1, "B":2, "C":3, "D":4, "E":2, "F":3})
print(A.value_counts())

2.8 数据表

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"]}
B = pd.DataFrame(A)
print(B)

2.9 数据表添加新变量

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"]}
B = pd.DataFrame(A)
print(B)
B["high"] = ["180", "183", "160", "178", "158"]
print(B)

2.10 获取列名

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B)
print("数据表列名:", B.columns)

2.11 根据列名获取数据

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B)
print(B[["name", "sex"]])

2.12 输出固定行

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B.loc[2])

2.13 输出多行

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B.loc[2 : 4])

2.14 输出指定行和列

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B.loc[2 : 4, ["name", "high"]])

2.15 输出性别为“男”的行和列

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B.loc[B.sex == "男", ["name", "sex"]])

2.16 获取指定行

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B.iloc[0 : 2])

2.17 获取指定列

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B.iloc[ : , 0 : 2])

2.18 获取指定位置数据

import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(B.iloc[0 : 2, 0 : 2])

2.19 索引转化

import numpy as np
import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
# 转换为列表
print(B.iloc[list(B.sex == "男"), 0 : 3])
# 转换为数组
print(B.iloc[np.array(B.sex == "男"), 0 : 3])

2.20 判断条件

import numpy as np
import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
print(list(B.age >= "18"))

2.21 重新赋值

import numpy as np
import pandas as pd
A = {"name": ["小米", "小华", "小魅", "小破", "小领"],
     "age": ["20", "18", "16", "23", "19"],
     "sex": ["男", "男", "女", "男", "女"],
     "high": ["180", "183", "160", "178", "158"]}
B = pd.DataFrame(A)
B.high = ["179", "186", "168", "183", "160"]
print(B)

三、数据聚合和分组运算

3.1 获取数据集

iris.csv(iris数据集、鸢尾花数据集)

3.2 读取数据集

        鸢尾花数据集(Iris Dataset),又称安德森鸢尾花卉数据集(Anderson’s Iris Data Set),是数据科学与机器学习领域中最著名的经典数据集之一。

        鸢尾花数据集可以通过多种方式获取,如Scikit-learn提供的内置数据集,以及UCI机器学习库等。获取后,可以使用Python等编程语言进行数据加载、预处理和模型训练等操作。

        鸢尾花数据集以其简洁明了的数据结构和广泛的应用场景,成为了机器学习初学者的首选案例。通过学习和实践这一数据集,初学者可以逐步掌握机器学习的基础知识和技能。

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
print(iris.head())

3.3 计算每列均值

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
print(iris.iloc[ : , 1 : 5].apply(func = np.mean, axis = 0))

3.4 计算每列的最小值

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
min = iris.iloc[ : , 1 : 5].apply(func = np.min , axis = 0)
print(min)

3.5 计算每列的最大值

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
max = iris.iloc[ : , 1 : 5].apply(func = np.max , axis = 0)
print(max)

3.6 计算每列的样本数量

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
size = iris.iloc[ : , 1 : 5].apply(func = np.size , axis = 0)
print(size)

3.7 行计算

只展示前五行 

其中代码的axis=0要改成axis=1

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
data = iris.iloc[0 : 5, 1 : 5].apply(func = (np.min, np.max, np.mean, np.std, np.var) , axis = 1)
print(data)

3.8 分组计算均值

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
res = iris.drop("Id", axis = 1).groupby(by = "Species").mean()
print(res)

3.9 分组计算偏度

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
res = iris.drop("Id", axis = 1).groupby(by = "Species").skew()
print(res)

3.10 聚合运算

3.10.1 分组前

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
res = iris.drop("Id", axis = 1).agg({"SepalLengthCm" : ["min", "max", "mean"],
                                     "SepalWidthCm" : ["min", "max", "mean"],
                                     "PetalLengthCm" : ["min", "max", "mean"]})
print(res)

3.10.2 分组后

import numpy as np
import pandas as pd
iris = pd.read_csv("D:/iris.csv")
res = (iris.drop("Id", axis = 1).groupby(by = "SepalLengthCm")
       .agg({"SepalLengthCm" : ["min", "max", "mean"],
             "SepalWidthCm" : ["min"],
             "PetalLengthCm" : ["skew"]}))
print(res)

四、数据可视化

Mtplotlib是Python中一个广泛使用的绘图库,它提供了一个类似于MATLAB的绘图框架。Mtplotlib可以生成高质量的图表,这些图表可以用于数据可视化、科学研究、教育以及出版等领域。 

4.1 安装matplotlib库

pip install matplotlib

安装成功展示图: 

4.2 检测matplotlib库

pip show matplotlib

4.3  箱线图

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
iris = pd.read_csv("D:/iris.csv")
iris.iloc[ : , 1 : 6].boxplot(column = ["SepalLengthCm", "SepalWidthCm", "PetalLengthCm", "PetalWidthCm"], by = "Species", figsize=(10,10))
plt.show()

4.4 散点图

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
iris = pd.read_csv("D:/iris.csv")
color = iris.Species.map({"setosa" : "blue", "versicolor" : "green", "virginica" : "red"})
iris.plot(kind = "scatter" , x = "SepalLengthCm", y = "SepalWidthCm", s = 30, c = color, figsize = (10,10))
plt.show()

4.5 六边形热力图

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
iris = pd.read_csv("D:/iris.csv")
iris.plot(kind = "hexbin" , x = "SepalLengthCm", y = "SepalWidthCm", gridsize = 15, figsize = (10,7), sharex = False)
plt.show()

4.6 折线图

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
iris = pd.read_csv("D:/iris.csv")
iris.iloc[ : , 0 : 5].plot(kind = "line", x = "Id", figsize = (12, 8))
plt.show()

到此这篇关于Python的pandas库基础知识超详细教程的文章就介绍到这了,更多相关Python的pandas库基础知识内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python项目Docker仓库发布指南

    Python项目Docker仓库发布指南

    本文档详细介绍如何将 AI Backend Python 项目构建为 Docker 镜像并发布到各种 Docker 仓库,包括 Docker Hub、阿里云容器镜像服务、腾讯云容器镜像服务等,需要的朋友可以参考下
    2025-08-08
  • Python代码打开本地.mp4格式文件的方法

    Python代码打开本地.mp4格式文件的方法

    今天小编就为大家分享一篇Python代码打开本地.mp4格式文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python将阿拉伯数字转换为罗马数字的方法

    Python将阿拉伯数字转换为罗马数字的方法

    这篇文章主要介绍了Python将阿拉伯数字转换为罗马数字的方法,涉及Python字符串转换及流程控制的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Pytorch实现图片异常检测功能

    Pytorch实现图片异常检测功能

    异常检测指的是在正常的图片中找到异常的数据,由于无法通过规则进行识别判断,这样的应用场景通常都是需要人工进行识别,本文给大家介绍了使用Pytorch实现图片异常检测功能,感兴趣的朋友可以参考下
    2024-05-05
  • Python 敏感词过滤的实现示例

    Python 敏感词过滤的实现示例

    本文主要介绍了Python 敏感词过滤的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 如何使用Flask-Migrate拓展数据库表结构

    如何使用Flask-Migrate拓展数据库表结构

    这篇文章主要介绍了如何使用Flask-Migrate拓展数据库表结构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python之array赋值技巧分享

    python之array赋值技巧分享

    今天小编就为大家分享一篇python之array赋值技巧分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 详解Python中最常用的10个内置函数

    详解Python中最常用的10个内置函数

    Python作为一种多用途编程语言,拥有丰富的内置函数库,这些函数可以极大地提高开发效率,本文将介绍Python中最常用的10个内置函数,我们将深入了解每个函数,并提供示例代码以帮助您更好地理解它们,需要的朋友可以参考下
    2023-11-11
  • 浅析python继承与多重继承

    浅析python继承与多重继承

    在本篇文章中我们给大家分析了python继承与多重继承的相关知识点内容,有兴趣的读者们参考下。
    2018-09-09
  • pandas.cut具体使用总结

    pandas.cut具体使用总结

    这篇文章主要介绍了pandas.cut具体使用总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06

最新评论