Pandas 数据结构
Pandas 是 Python 中用于数据处理和分析的强大工具库。它的核心数据结构是 Series 和 DataFrame,这两种数据结构为处理表格数据提供了高效且灵活的方式。本文将详细介绍这两种数据结构,并通过实际案例帮助你理解它们的应用。
1. Series:一维数据结构
Series 是 Pandas 中最基本的数据结构,类似于一维数组或列表。它由一组数据和与之关联的索引组成。索引可以是数字、字符串或其他数据类型。
创建 Series
以下是一个简单的例子,展示如何创建一个 Series:
python
import pandas as pd
# 创建一个 Series
data = pd.Series([10, 20, 30, 40])
print(data)
输出:
0 10
1 20
2 30
3 40
dtype: int64
在这个例子中,data
是一个包含四个元素的 Series,索引默认从 0 开始。
自定义索引
你可以为 Series 指定自定义索引:
python
data = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(data)
输出:
a 10
b 20
c 30
d 40
dtype: int64
Series 的常用操作
- 访问数据:通过索引访问数据,例如
data['a']
返回10
。 - 切片操作:例如
data[1:3]
返回索引为1
和2
的数据。 - 数学运算:Series 支持向量化运算,例如
data * 2
会将所有元素乘以 2。
2. DataFrame:二维数据结构
DataFrame 是 Pandas 中最常用的数据结构,类似于电子表格或 SQL 表。它是一个二维表格,包含行和列,每列可以是不同的数据类型(如数字、字符串等)。
创建 DataFrame
以下是一个简单的例子,展示如何创建一个 DataFrame:
python
import pandas as pd
# 创建一个 DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)
输出:
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
DataFrame 的常用操作
- 访问列:通过列名访问数据,例如
df['Name']
返回Name
列。 - 访问行:使用
.loc[]
或.iloc[]
访问行数据,例如df.loc[0]
返回第一行。 - 添加列:例如
df['Salary'] = [50000, 60000, 70000]
添加一个新列。 - 删除列:使用
df.drop('City', axis=1)
删除City
列。
3. 实际案例:学生成绩分析
假设我们有一组学生的成绩数据,我们可以使用 Pandas 进行简单的分析。
python
import pandas as pd
# 创建学生成绩数据
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Math': [90, 85, 78, 92],
'Science': [88, 91, 85, 89],
'English': [92, 87, 90, 84]
}
df = pd.DataFrame(data)
# 计算每个学生的平均分
df['Average'] = df[['Math', 'Science', 'English']].mean(axis=1)
print(df)
输出:
Name Math Science English Average
0 Alice 90 88 92 90.000000
1 Bob 85 91 87 87.666667
2 Charlie 78 85 90 84.333333
3 David 92 89 84 88.333333
在这个例子中,我们计算了每个学生的平均分,并将结果存储在新的 Average
列中。
4. 总结
- Series 是 Pandas 中的一维数据结构,适合存储单列数据。
- DataFrame 是 Pandas 中的二维数据结构,适合存储表格数据。
- 通过索引和列名,可以方便地访问和操作数据。
- Pandas 提供了丰富的功能,支持数据清洗、分析和可视化。
5. 附加资源与练习
练习
- 创建一个包含 5 个城市的温度和湿度的 DataFrame,并计算每个城市的平均温度。
- 使用 Series 存储一组学生的姓名和成绩,并找出最高分的学生。
资源
- Pandas 官方文档
- 《Python for Data Analysis》 by Wes McKinney
提示
尝试使用 Pandas 处理你自己的数据集,这将帮助你更好地理解这些概念!