跳到主要内容

Pandas 数据结构

Pandas 是 Python 中用于数据处理和分析的强大工具库。它的核心数据结构是 SeriesDataFrame,这两种数据结构为处理表格数据提供了高效且灵活的方式。本文将详细介绍这两种数据结构,并通过实际案例帮助你理解它们的应用。


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] 返回索引为 12 的数据。
  • 数学运算: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. 附加资源与练习

练习

  1. 创建一个包含 5 个城市的温度和湿度的 DataFrame,并计算每个城市的平均温度。
  2. 使用 Series 存储一组学生的姓名和成绩,并找出最高分的学生。

资源

提示

尝试使用 Pandas 处理你自己的数据集,这将帮助你更好地理解这些概念!