Python学习(十四)pandas库入门手册

目录

什么是pandas?

pandas 是 Python 中一个强大的 数据处理和分析库 ,广泛应用于 数据清洗转换分析可视化 等领域。它提供了搞笑的数据结构(如 DataFrameSeries),使得处理结构化数据变得简单而高效。本文将详细介绍 pandas 的核心功能和使用方法,帮助你快速掌握这一工具。

pandas 的特点如下:

  • 高效的数据结构: SeriesDataFrame 提供了灵活的数据操作方式。
  • 强大的数据处理能力: 支持数据清洗、转换、分析和可视化。
  • 丰富的文件格式支持: 可以轻松读取和写入 CSV、Excel、JSON 等文件格式。

一、安装与导入

安装:

在开始使用 pandas 之前,需要先进行安装。可以通过以下命令安装:

bash 复制代码
pip install pandas

导入:

安装完成后,在代码中导入 pandas

python 复制代码
import pandas as pd

二、核心数据结构

pandas 的主要数据结构是:Series(一维数据) 和 DataFrame(二维数据)。

2.1 Series 类型(一维数组)

Series 是一个一维数组,可以 存储任意类型的数据(如整数、字符串、浮点数等),并带有索引。

创建 Series:

  • 语法:pandas.Series([对象1, 对象2])
python 复制代码
import pandas as pd

# 从列表创建 Series
s = pd.Series([1, 3, 5, 7, 9])
print(s)

执行结果:

访问 Series:

python 复制代码
# 通过索引访问数据
print(s[0]) # 输出 1

# 通过位置访问数据
print(s.iloc[1]) # 输出 3

执行结果:

2.2 DataFrame 类型(二维数组)

DataFrame 是一个二维表格数据结构,类似于 Excel 表格或 SQL 表。它由行和列组成,每列可以是不同的数据类型。

创建 DataFrame:

python 复制代码
# 从字典创建 DataFrame
data = {
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [25, 30, 35],
    "City": ["New York", "Los Angeles", "Chicago"]
}
df = pd.DataFrame(data)
print(df)

执行结果:

访问 DataFrame:

python 复制代码
# 访问列
print(df["Name"]) # 输出 Name 列
print("==============")

# 访问行
print(df.iloc[0]) # 输出第一行

执行结果:


三、数据读取与写入

pandas 支持从多种文件格式读取数据,并将数据写入这些格式。

3.1 读取 CSV 和 Excel 文件

读取 CSV 文件:

python 复制代码
df = pd.read_csv("data.csv")
print(df.head())

csv内容如下:

json 复制代码
"Name","Age","City"
Alice,25,New York
Bob,30,Los Angeles
Charlie,35,Chicago

执行结果:

读取 Excel 文件:

python 复制代码
df = pd.read_excel("data.xlsx", sheet_name="Sheet1")
print(df.head())

Excel 内容如下:

执行结果:

3.2 写入数据

写入 CSV 文件:

python 复制代码
df.to_csv("output.csv", index=False)

写入 Excel 文件:

python 复制代码
df.to_excel("output.xlsx", sheet_name="Sheet1", index=False)

四、数据清洗与处理

4.1 处理缺失值

python 复制代码
# 检查缺失项
print(df.isnull())

# 填充缺失值
df_filled = df.fillna(0) # 用 0 填充缺失值

# 删除包含缺失值的行
df_dropped = df.ropna()

4.2 数据筛选

python 复制代码
# 筛选 Age 大于 30 的行
df_filtered = df[df["Age"] > 30]
print(df_filtered)

执行结果:

4.3 数据排序

python 复制代码
# 按 Age 列升序排序
df_sorted = df.sort_values(by="Age")
print(df_sorted)

执行结果:


五、数据分析

5.1 统计描述

python 复制代码
# 查看数据的基本统计信息
print(df.describe())

执行结果:

5.2 分组聚合

python 复制代码
# 按 City 分组并计算平均年龄
df_grouped = df.groupby("City")["Age"].mean()
print(df_grouped)

执行结果:

5.3 数据透视表

python 复制代码
# 创建数据透视表
df_pivot = df.pivot_table(index="City", values="Age", aggfunc="mean")
print(df_pivot)

执行结果:


六、数据可视化

pandas 结合 matplotlib 可以方便地进行数据可视化。

安装命令:

bash 复制代码
pip install matplotlib

示例:绘制柱状图

python 复制代码
import matplotlib.pyplot as plt

# 绘制 Age 列地柱状图
df["Age"].plot(kind="bar")
plt.show()

执行结果:


七、高级功能

7.1 合并数据

python 复制代码
# 合并两个 DataFrame
df1 = pd.DataFrame({"A": [1, 2], "B": [3, 4]})
df2 = pd.DataFrame({"A": [5, 6], "B": [7, 8]})
df_merged = pd.concat([df1, df2])
print(df_merged)

执行结果:

7.2 处理时间序列

python 复制代码
# 创建时间序列
dates = pd.date_range("20230101", periods=6)
df_time = pd.DataFrame({"Date": dates, "Value": [1, 2, 3, 4, 5, 6]})
print(df_time)

执行结果:

整理完毕,完结撒花~ 🌻

参考地址:

1.pandas用法-全网最详细教程,https://blog.csdn.net/Strive_For_Future/article/details/126710810

相关推荐
_Kayo_1 小时前
node.js 学习笔记3 HTTP
笔记·学习
wyiyiyi4 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
CCCC13101634 小时前
嵌入式学习(day 28)线程
jvm·学习
mit6.8244 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员4 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋4 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
星星火柴9365 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头5 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
AntBlack5 小时前
不当韭菜V1.1 :增强能力 ,辅助构建自己的交易规则
后端·python·pyqt
艾莉丝努力练剑6 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法