Pandas 简介与安装

Pandas 简介与安装

目录

  • [什么是 Pandas](#什么是 Pandas)
  • [Pandas 的历史](#Pandas 的历史)
  • [为什么选择 Pandas](#为什么选择 Pandas)
  • [安装 Pandas](#安装 Pandas)
  • [导入 Pandas](#导入 Pandas)
  • 验证安装
  • 基本使用示例

什么是 Pandas

Pandas 是一个开源的 BSD 许可的 Python 库,提供高性能、易于使用的数据结构和数据分析工具。Pandas 的名称来源于"面板数据"(Panel Data),这是一个计量经济学术语,指包含多个时间段的多维数据集。

核心数据结构

Pandas 主要有两个核心数据结构:

  1. Series(序列):一维标记数组,类似于带标签的列表或数组
  2. DataFrame(数据框):二维标记数据结构,类似于电子表格或 SQL 表

Pandas 的历史

  • 2008年:Wes McKinney 开始开发 Pandas
  • 2009年:首次公开发布
  • 2015年:NumFOCUS 成为 Pandas 的财政赞助商
  • 现在:Pandas 是最受欢迎的 Python 数据分析库之一

为什么选择 Pandas

1. 数据读取和写入简单

Pandas 支持多种文件格式(CSV、Excel、JSON、SQL、HDF5等)

python 复制代码
import pandas as pd

# 读取 CSV 文件只需要一行代码
df = pd.read_csv('data.csv')

# 读取 Excel 文件
df = pd.read_excel('data.xlsx')

# 读取 JSON 文件
df = pd.read_json('data.json')

2. 数据清洗功能强大

提供了丰富的数据清洗工具,处理缺失值、重复值、异常值等

python 复制代码
# 删除缺失值
df.dropna()

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

# 删除重复值
df.drop_duplicates()

3. 数据操作灵活

提供了类似于 SQL 的数据操作功能

python 复制代码
# 分组聚合
df.groupby('category').mean()

# 数据过滤
df[df['age'] > 18]

# 数据排序
df.sort_values('age')

4. 与 NumPy 无缝集成

Pandas 构建在 NumPy 之上,可以轻松与 NumPy 数组交互

python 复制代码
import numpy as np
import pandas as pd

# 从 NumPy 数组创建 DataFrame
arr = np.array([[1, 2, 3], [4, 5, 6]])
df = pd.DataFrame(arr, columns=['A', 'B', 'C'])

# DataFrame 转换为 NumPy 数组
arr = df.values

安装 Pandas

使用 pip 安装(推荐)

bash 复制代码
pip install pandas

使用 conda 安装

bash 复制代码
conda install pandas

指定版本安装

bash 复制代码
# 安装特定版本
pip install pandas==2.0.0

# 安装最新版本
pip install pandas --upgrade

安装可选依赖

Pandas 有一些可选依赖,用于支持特定功能:

bash 复制代码
# 安装 Excel 支持(需要 openpyxl 或 xlrd)
pip install pandas openpyxl

# 安装 HDF5 支持
pip install pandas tables

# 安装数据库支持
pip install pandas sqlalchemy pymysql

# 安装完整支持(包括所有可选依赖)
pip install pandas[all]

导入 Pandas

标准的 Pandas 导入方式:

python 复制代码
import pandas as pd

这是社区广泛采用的标准导入方式,pd 是 Pandas 的约定别名。

检查 Pandas 版本

python 复制代码
import pandas as pd

print(pd.__version__)
# 输出:2.1.0(具体版本取决于你的安装)

# 查看版本信息
print(pd.show_versions())

验证安装

创建一个简单的脚本来验证 Pandas 是否正常安装:

python 复制代码
import pandas as pd
import numpy as np

# 创建一个简单的 DataFrame
data = {
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 30, 35],
    '城市': ['北京', '上海', '广州']
}

df = pd.DataFrame(data)
print(df)

# 输出:
#    姓名  年龄  城市
# 0  张三  25  北京
# 1  李四  30  上海
# 2  王五  35  广州

如果上述代码能够正常运行并输出结果,说明 Pandas 安装成功。


基本使用示例

示例 1:创建简单的数据

python 复制代码
import pandas as pd

# 创建 Series
s = pd.Series([1, 3, 5, 7, 9])
print(s)
# 输出:
# 0    1
# 1    3
# 2    5
# 3    7
# 4    9
# dtype: int64

# 创建 DataFrame
df = pd.DataFrame({
    '产品': ['苹果', '香蕉', '橙子'],
    '价格': [5.5, 3.2, 4.8],
    '库存': [100, 150, 80]
})
print(df)
# 输出:
#    产品   价格   库存
# 0  苹果  5.5  100
# 1  香蕉  3.2  150
# 2  橙子  4.8   80

示例 2:数据统计

python 复制代码
import pandas as pd

data = {
    '销售员': ['张三', '李四', '王五', '赵六'],
    '销售额': [12000, 15000, 18000, 14000],
    '订单数': [45, 52, 60, 48]
}

df = pd.DataFrame(data)

# 基本统计信息
print(df.describe())

# 平均值
print(f"平均销售额: {df['销售额'].mean()}")

# 总和
print(f"总销售额: {df['销售额'].sum()}")

# 最大值和最小值
print(f"最高销售额: {df['销售额'].max()}")
print(f"最低销售额: {df['销售额'].min()}")

示例 3:数据筛选

python 复制代码
import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '年龄': [25, 30, 35, 28],
    '部门': ['销售', '技术', '销售', '技术'],
    '工资': [8000, 12000, 9000, 11000]
}

df = pd.DataFrame(data)

# 筛选年龄大于 30 的员工
filtered = df[df['年龄'] > 30]
print(filtered)

# 筛选销售部门的员工
sales_dept = df[df['部门'] == '销售']
print(sales_dept)

# 多重条件筛选
result = df[(df['年龄'] > 25) & (df['工资'] > 9000)]
print(result)

参考资料


相关推荐
Hello.Reader2 天前
PyFlink 向量化 UDF(Vectorized UDF)Arrow 批传输原理、pandas 标量/聚合函数、配置与内存陷阱、五种写法一网打尽
python·flink·pandas
Hello.Reader2 天前
PyFlink Table API Data Types DataType 是什么、UDF 类型声明怎么写、Python / Pandas 类型映射一文搞懂
python·php·pandas
Hello.Reader2 天前
PyFlink Table API 用户自定义函数(UDF)通用 UDF vs Pandas UDF、打包部署、open 预加载资源、读取作业参数、单元测试
log4j·pandas
海棠AI实验室3 天前
第十六章:小项目 2 CSV → 清洗 → 统计 → 图表 → 报告输出
pandas
逻极3 天前
数据分析项目:Pandas + SQLAlchemy,从数据库到DataFrame的丝滑实战
python·mysql·数据分析·pandas·sqlalchemy
海棠AI实验室3 天前
第十七章 调试与排错:读懂 Traceback 的方法论
python·pandas·调试
kong79069283 天前
Pandas简介
信息可视化·数据分析·pandas
爱喝可乐的老王3 天前
数据分析实践--数据解析购房关键
信息可视化·数据分析·pandas·matplotlib
叫我:松哥3 天前
基于 Flask 的音乐推荐与可视化分析系统,包含用户、创作者、管理员三种角色,集成 ECharts 进行数据可视化,采用混合推荐算法
开发语言·python·信息可视化·flask·echarts·pandas·推荐算法
龙腾AI白云3 天前
10分钟了解向量数据库(3)
pandas·scipy