Pandas PyPI 安装与使用指南
Pandas 是 Python 编程语言中一个功能强大、灵活且易于使用的数据分析和处理库。它提供了高效的数据结构,如 DataFrame 和 Series,使得处理结构化数据变得异常简单。无论是数据清洗、转换、聚合还是可视化,Pandas 都是数据科学家和分析师不可或缺的工具。
本文将详细介绍如何通过 PyPI 安装 Pandas,并提供一份全面的使用指南,帮助您快速上手。
1. 什么是 Pandas?
Pandas 的核心是其数据结构:
- Series (序列):一维带标签的数组,可以存储任何数据类型(整数、字符串、浮点数、Python 对象等)。它类似于 Excel 中的一列数据或 SQL 表中的一个字段。
- DataFrame (数据帧):二维带标签的数据结构,具有不同的列类型。它类似于 Excel 工作表、SQL 表或一系列 Series 对象的字典。这是 Pandas 中最常用的数据结构,也是数据分析的主要工作对象。
Pandas 建立在 NumPy 库之上,因此它具有处理大型数据集的高性能特性。
2. 环境准备
在安装 Pandas 之前,请确保您的系统已安装 Python 和 pip(Python 的包管理器)。
- Python: 建议使用 Python 3.7 或更高版本。
- pip: 通常随 Python 一同安装。您可以通过运行
pip --version来检查其是否可用。如果未安装,请参考 Python 官方文档进行安装。
3. Pandas 安装 (PyPI)
通过 PyPI (Python Package Index) 安装 Pandas 是最常用和推荐的方式。打开您的终端或命令提示符,然后运行以下命令:
bash
pip install pandas
这将会下载并安装最新稳定版本的 Pandas 及其所有必要的依赖项,如 NumPy。
验证安装
安装完成后,您可以在 Python 解释器中验证 Pandas 是否成功安装:
python
import pandas as pd
print(pd.__version__)
如果成功打印出 Pandas 的版本号,则表示安装成功。
4. Pandas 基础使用
4.1. 导入 Pandas
通常,我们会将 Pandas 导入并约定俗成地使用别名 pd,这使得代码更简洁:
python
import pandas as pd
4.2. 创建 Series
Series 可以从列表、NumPy 数组或字典创建:
“`python
从列表创建 Series
s = pd.Series([1, 3, 5, 7, 9])
print(“Series from list:\n”, s)
从 NumPy 数组创建 Series
import numpy as np
arr = np.array([10, 20, 30, 40])
s_np = pd.Series(arr)
print(“\nSeries from NumPy array:\n”, s_np)
从字典创建 Series (键将作为索引)
d = {‘a’: 100, ‘b’: 200, ‘c’: 300}
s_dict = pd.Series(d)
print(“\nSeries from dictionary:\n”, s_dict)
“`
输出:
“`
Series from list:
0 1
1 3
2 5
3 7
4 9
dtype: int64
Series from NumPy array:
0 10
1 20
2 30
3 40
dtype: int64
Series from dictionary:
a 100
b 200
c 300
dtype: int64
“`
4.3. 创建 DataFrame
DataFrame 可以从字典、列表的列表或 NumPy 数组等多种数据源创建。最常见的是从字典创建,其中字典的键会成为列名:
“`python
从字典创建 DataFrame
data = {
‘Name’: [‘Alice’, ‘Bob’, ‘Charlie’, ‘David’],
‘Age’: [25, 30, 35, 28],
‘City’: [‘New York’, ‘Paris’, ‘London’, ‘Berlin’]
}
df = pd.DataFrame(data)
print(“DataFrame from dictionary:\n”, df)
指定索引
df_indexed = pd.DataFrame(data, index=[‘A’, ‘B’, ‘C’, ‘D’])
print(“\nDataFrame with custom index:\n”, df_indexed)
“`
输出:
“`
DataFrame from dictionary:
Name Age City
0 Alice 25 New York
1 Bob 30 Paris
2 Charlie 35 London
3 David 28 Berlin
DataFrame with custom index:
Name Age City
A Alice 25 New York
B Bob 30 Paris
C Charlie 35 London
D David 28 Berlin
“`
4.4. 基本操作
-
查看数据:
head(),tail(),info(),describe()python
print("\nFirst 2 rows:\n", df.head(2))
print("\nLast 1 row:\n", df.tail(1))
df.info() # 获取 DataFrame 的摘要信息,包括数据类型和非空值数量
print("\nDescriptive statistics:\n", df.describe()) # 数值列的描述性统计 -
选择列:
python
print("\nSelect 'Name' column:\n", df['Name']) # 返回 Series
print("\nSelect 'Name' and 'City' columns:\n", df[['Name', 'City']]) # 返回 DataFrame -
选择行 (基于索引):
loc(基于标签),iloc(基于位置)python
print("\nSelect row with index 0 (using iloc):\n", df.iloc[0])
print("\nSelect row with index 'A' (using loc on df_indexed):\n", df_indexed.loc['A'])
5. Pandas 进阶使用
5.1. 从文件读取数据
Pandas 支持读取多种文件格式,如 CSV, Excel, SQL 数据库等。CSV (Comma Separated Values) 是最常见的:
“`python
假设有一个名为 ‘data.csv’ 的文件,内容如下:
Name,Age,City
Emily,22,Miami
Frank,40,Seattle
将以下内容保存为 data.csv 到您的工作目录中
import os
with open(‘data.csv’, ‘w’) as f:
f.write(“Name,Age,City\n”)
f.write(“Emily,22,Miami\n”)
f.write(“Frank,40,Seattle\n”)
df_csv = pd.read_csv(‘data.csv’)
print(“\nDataFrame from data.csv:\n”, df_csv)
“`
5.2. 数据清洗和预处理
-
处理缺失值:
isnull(),dropna(),fillna()“`python
创建一个包含缺失值的 DataFrame
df_missing = pd.DataFrame({
‘A’: [1, 2, np.nan, 4],
‘B’: [5, np.nan, 7, 8],
‘C’: [9, 10, 11, 12]
})
print(“\nDataFrame with missing values:\n”, df_missing)print(“\nMissing values check:\n”, df_missing.isnull())
print(“\nDrop rows with any missing values:\n”, df_missing.dropna())
print(“\nFill missing values with 0:\n”, df_missing.fillna(0))
print(“\nFill missing values with mean of column A:\n”, df_missing[‘A’].fillna(df_missing[‘A’].mean()))
“` -
数据类型转换:
astype()python
df['Age'] = df['Age'].astype(float)
print("\nAge column after type conversion:\n", df.dtypes)
5.3. 数据筛选和查询
“`python
筛选年龄大于 30 的数据
df_filtered_age = df[df[‘Age’] > 30]
print(“\nPeople older than 30:\n”, df_filtered_age)
筛选居住在 ‘New York’ 的人
df_ny = df[df[‘City’] == ‘New York’]
print(“\nPeople from New York:\n”, df_ny)
组合条件
df_complex_filter = df[(df[‘Age’] > 28) & (df[‘City’] == ‘Paris’)]
print(“\nPeople older than 28 and from Paris:\n”, df_complex_filter)
“`
5.4. 数据聚合 (Group By)
groupby() 方法用于根据一个或多个列对数据进行分组,然后对每个组执行聚合操作(如求和、平均值、计数等)。
“`python
假设有更多数据
data_more = {
‘City’: [‘New York’, ‘Paris’, ‘London’, ‘Berlin’, ‘New York’, ‘London’],
‘Sales’: [100, 150, 200, 120, 110, 180]
}
df_sales = pd.DataFrame(data_more)
print(“\nSales DataFrame:\n”, df_sales)
按城市分组并计算总销售额
city_sales = df_sales.groupby(‘City’)[‘Sales’].sum()
print(“\nTotal sales by city:\n”, city_sales)
按城市分组并计算平均销售额
city_avg_sales = df_sales.groupby(‘City’)[‘Sales’].mean()
print(“\nAverage sales by city:\n”, city_avg_sales)
“`
6. 总结
Pandas 是 Python 数据分析生态系统中的基石。通过本文的指南,您应该已经掌握了 Pandas 的基本安装方法和核心使用技巧。从创建 Series 和 DataFrame,到进行数据清洗、筛选和聚合,Pandas 提供了直观且高效的 API 来处理各种数据分析任务。
随着您对 Pandas 的深入学习和实践,您会发现它在数据科学工作流程中的巨大价值。建议查阅 Pandas 官方文档以获取更详细的功能和高级用法。