当前位置: 首页 > news >正文

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

目录

    • 一、安装与导入
    • 二、核心数据结构
      • 2.1 Series 类型(一维数组)
      • 2.2 DataFrame 类型(二维数组)
    • 三、数据读取与写入
      • 3.1 读取 CSV 和 Excel 文件
      • 3.2 写入数据
    • 四、数据清洗与处理
      • 4.1 处理缺失值
      • 4.2 数据筛选
      • 4.3 数据排序
    • 五、数据分析
      • 5.1 统计描述
      • 5.2 分组聚合
      • 5.3 数据透视表
    • 六、数据可视化
    • 七、高级功能
      • 7.1 合并数据
      • 7.2 处理时间序列

  • 官网地址: https://pandas.pydata.org/

什么是pandas?

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

pandas 的特点如下:

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

一、安装与导入

安装:

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

pip install pandas

导入:

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

import pandas as pd

二、核心数据结构

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

2.1 Series 类型(一维数组)

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

创建 Series:

  • 语法:pandas.Series([对象1, 对象2])
import pandas as pd

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

执行结果:

在这里插入图片描述

访问 Series:

# 通过索引访问数据
print(s[0]) # 输出 1

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

执行结果:

在这里插入图片描述

2.2 DataFrame 类型(二维数组)

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

创建 DataFrame:

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

执行结果:

在这里插入图片描述

访问 DataFrame:

# 访问列
print(df["Name"]) # 输出 Name 列
print("==============")

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

执行结果:

在这里插入图片描述


三、数据读取与写入

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

3.1 读取 CSV 和 Excel 文件

读取 CSV 文件:

df = pd.read_csv("data.csv")
print(df.head())

csv内容如下:

"Name","Age","City"
Alice,25,New York
Bob,30,Los Angeles
Charlie,35,Chicago

执行结果:

在这里插入图片描述

读取 Excel 文件:

df = pd.read_excel("data.xlsx", sheet_name="Sheet1")
print(df.head())

Excel 内容如下:

在这里插入图片描述

执行结果:

在这里插入图片描述

3.2 写入数据

写入 CSV 文件:

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

写入 Excel 文件:

df.to_excel("output.xlsx", sheet_name="Sheet1", index=False)

四、数据清洗与处理

4.1 处理缺失值

# 检查缺失项
print(df.isnull())

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

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

4.2 数据筛选

# 筛选 Age 大于 30 的行
df_filtered = df[df["Age"] > 30]
print(df_filtered)

执行结果:

在这里插入图片描述

4.3 数据排序

# 按 Age 列升序排序
df_sorted = df.sort_values(by="Age")
print(df_sorted)

执行结果:

在这里插入图片描述


五、数据分析

5.1 统计描述

# 查看数据的基本统计信息
print(df.describe())

执行结果:

在这里插入图片描述

5.2 分组聚合

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

执行结果:

在这里插入图片描述

5.3 数据透视表

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

执行结果:

在这里插入图片描述


六、数据可视化

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

安装命令:

pip install matplotlib

示例:绘制柱状图

import matplotlib.pyplot as plt

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

执行结果:

在这里插入图片描述


七、高级功能

7.1 合并数据

# 合并两个 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 处理时间序列

# 创建时间序列
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

相关文章:

  • 自学Java-JavaSE基础加强(File、IO流)
  • 市场趋势解析与交易策略优化
  • C# Unity 面向对象补全计划 之 [反射]自动处理带有自定义[特性]的类
  • 对celery的,路径,任务路径问题。
  • QDBus:Qt对DBus的封装支持
  • Springboot集成dubbo完整过程(三)
  • gitbash忽略未追踪文件的解决方式
  • 四阶龙格-库塔(Runge-Kutta)算法详解
  • STM32Cubemx配置E22-xxxT22D lora模块实现定点传输
  • 数据库事务的 ACID,通过MVCC能做什么
  • qt将文件压缩成zip包
  • 【软件系统架构】系列三:数据库系统之三
  • Qt:day4
  • DeepSeek本机部署(基于Ollama和Docker管理)
  • 第六十:跨组件通信-依赖注入(父传递给其他组件)
  • C# | 委托 | 事件 | 异步
  • Varjo XR-4 混合现实驾驶仿真解决方案
  • 迷你世界脚本UI五子棋小游戏
  • JDBC 完全指南:掌握 Java 数据库交互的核心技术
  • SpringBoot为什么要禁止循环依赖?
  • 建站程序的作用/下载优化大师app
  • 手机免费h5制作软件/天津优化加盟
  • 室内设计效果图背景墙/seo网络推广知识
  • 网站建设的基本费用/如何接广告赚钱
  • 网站建设 上市公司/哪个平台可以买卖链接
  • wordpress建立视频网站/某网站seo策划方案