欢迎来到 Python 基础入门 Day19!今天,我们正式开始学习 Pandas —— Python 中最重要的数据分析工具之一。在接下来的几天里,我们将系统地学习 Pandas 的核心功能,帮助你高效地处理和分析数据。
目录
- 什么是 Pandas?
- Pandas 的核心数据结构
- 数据的创建与导入
- 数据预览与基本操作
- 小结与练习
一、什么是 Pandas?
Pandas 是一个开源的 Python 数据分析库,提供了高效、灵活的数据处理能力。它可以帮助我们:
- 处理结构化数据(如表格数据)。
- 对数据进行清洗、重塑和分析。
- 与 Numpy、Matplotlib、Seaborn 等工具无缝结合。
核心特性:
- 提供了两种主要数据结构:
Series
和DataFrame
。 - 支持各种数据操作,如筛选、分组、聚合、合并、排序等。
- 支持导入和导出多种数据格式(如 CSV、Excel、SQL 等)。
二、Pandas 的核心数据结构
2.1 Series(序列)
Series
是一种一维的、带标签的数据结构,可以看作是带索引的数组。
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
特点:
- 每个数据都有一个对应的索引。
- 数据类型可以是整数、浮点数、字符串等。
2.2 DataFrame(数据框)
DataFrame
是一种二维的、带行列标签的数据结构,可以看作是带索引的表格。
# 创建一个 DataFrame
data = {
"Name": ["Alice", "Bob", "Charlie"],
"Age": [25, 30, 35],
"Salary": [50000, 60000, 70000]
}
df = pd.DataFrame(data)
print(df)
输出:
Name Age Salary
0 Alice 25 50000
1 Bob 30 60000
2 Charlie 35 70000
特点:
- 行和列都有索引。
- 支持多种数据操作。
三、数据的创建与导入
3.1 创建 Series 和 DataFrame
除了列表和字典,Pandas 还支持从 Numpy 数组、CSV 文件等创建数据。
import numpy as np
# 从 Numpy 数组创建 DataFrame
arr = np.array([[1, 2, 3], [4, 5, 6]])
df = pd.DataFrame(arr, columns=["A", "B", "C"])
print(df)
输出:
A B C
0 1 2 3
1 4 5 6
3.2 从文件导入数据
Pandas 支持从多种格式的文件中读取数据,比如 CSV、Excel、SQL 等。
# 从 CSV 文件导入数据
df = pd.read_csv("example.csv")
print(df.head()) # 查看前 5 行
提示:你需要确保文件路径正确。
四、数据预览与基本操作
4.1 数据预览
Pandas 提供了丰富的方式来快速预览数据:
# 显示数据的前几行
print(df.head(5)) # 默认显示前 5 行
# 显示数据的后几行
print(df.tail(3)) # 默认显示后 3 行
# 查看数据的基本信息
print(df.info())
# 查看数据的统计信息
print(df.describe())
4.2 筛选数据
Pandas 提供了多种方式来筛选数据,比如按条件筛选、选择某些列等。
# 筛选年龄大于 30 的行
filtered = df[df["Age"] > 30]
print(filtered)
4.3 数据排序
可以按照某一列对数据进行排序:
# 按年龄降序排序
sorted_df = df.sort_values(by="Age", ascending=False)
print(sorted_df)
4.4 添加和删除列
你可以随时向 DataFrame 中添加或删除列:
# 添加一列
df["Bonus"] = df["Salary"] * 0.1
# 删除一列
df.drop(columns=["Bonus"], inplace=True)
五、小结与练习
今天,我们学习了 Pandas 的基本概念和操作,重点包括:
- Pandas 的核心数据结构:
Series
和DataFrame
。 - 如何创建数据结构。
- 如何导入数据和进行基本的数据预览与操作。
今日练习题:
- 创建一个包含以下列的数据框:
Product
: 商品名称(字符串类型)。Price
: 商品价格(浮点数类型)。Stock
: 库存数量(整数类型)。
- 从练习 1 的数据框中筛选价格大于 100 的商品。
- 使用 Pandas 的
describe()
方法,统计练习 1 的数据框基本信息。
下一节预告:在 Day20 中,我们将学习 Pandas 的高级操作,包括数据清洗、分组聚合和数据可视化的结合应用。敬请期待!
祝学习愉快!如果有任何问题,欢迎随时讨论 😊。