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)

参考资料


相关推荐
左师佑图2 天前
综合案例:Python 数据处理——从Excel文件到数据分析
开发语言·python·数据分析·excel·pandas
景早5 天前
pandas简介
pandas
懒惰蜗牛8 天前
Day10:Python实现Excel自动汇总
python·numpy·pandas·pip·1024程序员节·python读写excel
CodeCraft Studio8 天前
国产化Excel开发组件Spire.XLS教程:在Python中将Pandas DataFrame导出到Excel的详细教程
python·excel·pandas
sunbyte9 天前
从零掌握 Pandas:数据分析的黄金钥匙|01:认识Pandas
数据挖掘·数据分析·pandas
是梦终空10 天前
计算机毕业设计240—基于python+爬虫+html的微博舆情数据可视化系统(源代码+数据库)
爬虫·python·pandas·课程设计·毕业论文·计算机毕业设计·微博舆情可视化
万粉变现经纪人13 天前
如何解决 pip install -r requirements.txt 私有索引未设为 trusted-host 导致拒绝 问题
开发语言·python·scrapy·flask·beautifulsoup·pandas·pip
万粉变现经纪人14 天前
如何解决 pip install -r requirements.txt 私有仓库认证失败 401 Unauthorized 问题
开发语言·python·scrapy·flask·beautifulsoup·pandas·pip
m***记14 天前
Python 数据分析入门:Pandas vs NumPy 全方位对比
python·数据分析·pandas