Pandas 数据结构 - Series详解

在 Pandas 中,Series 是一种一维的带标签数组,它能够保存任何数据类型(如整数、字符串、浮点数、Python 对象等)。Series 由两个主要部分组成:索引(index)和值(values)。下面将从多个方面对 Series 进行详细介绍。

1. 创建 Series

可以使用多种方式创建 Series,下面介绍几种常见的方法。

从列表创建

import pandas as pd

data = [10, 20, 30, 40]
s = pd.Series(data)
print(s)

在上述代码中,我们使用一个列表 data 创建了一个 Series 对象 s。如果没有指定索引,Pandas 会默认使用从 0 开始的整数作为索引。

从字典创建

data = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(data)
print(s)

当使用字典创建 Series 时,字典的键会成为 Series 的索引,字典的值会成为 Series 的数据。

指定索引创建

data = [10, 20, 30]
index = ['x', 'y', 'z']
s = pd.Series(data, index=index)
print(s)

这里我们手动指定了索引,使得 Series 的索引不再是默认的整数索引。

2. 访问 Series 数据

可以通过索引来访问 Series 中的数据。

使用位置索引

s = pd.Series([10, 20, 30, 40])
print(s[2])  # 访问第 3 个元素

这里使用整数位置索引来访问 Series 中的元素,索引从 0 开始。

使用标签索引

data = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(data)
print(s['b'])  # 访问索引为 'b' 的元素

如果 Series 有标签索引,可以使用标签来访问元素。

切片访问

s = pd.Series([10, 20, 30, 40, 50])
print(s[1:4])  # 访问第 2 到第 4 个元素

可以使用切片操作来访问 Series 中的一部分数据。

3. Series 的属性

Series 有一些常用的属性,用于获取其相关信息。

values 属性

s = pd.Series([10, 20, 30])
print(s.values)  # 获取 Series 的值

values 属性返回一个包含 Series 所有值的 NumPy 数组。

index 属性

s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s.index)  # 获取 Series 的索引

index 属性返回 Series 的索引对象。

dtype 属性

s = pd.Series([10, 20, 30])
print(s.dtype)  # 获取 Series 的数据类型

dtype 属性返回 Series 中数据的类型。

4. 数学运算

Series 支持各种数学运算。

元素级运算

s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])
result = s1 + s2
print(result)

Series 之间的运算会按照索引进行元素级的操作。

广播运算

s = pd.Series([1, 2, 3])
result = s * 2
print(result)

Series 可以与标量进行广播运算,即每个元素都与标量进行相应的运算。

5. 缺失值处理

在 Series 中,缺失值通常用 NaN(Not a Number)表示。
import numpy as np

data = [10, np.nan, 30]
s = pd.Series(data)
print(s.isnull())  # 检查是否为缺失值
print(s.dropna())  # 删除缺失值
print(s.fillna(0))  # 填充缺失值为 0

isnull() 方法用于检查 Series 中的元素是否为缺失值,dropna() 方法用于删除包含缺失值的元素,fillna() 方法用于填充缺失值。

6. 统计计算

Series 提供了许多统计计算方法。
s = pd.Series([10, 20, 30, 40, 50])
print(s.mean())  # 计算平均值
print(s.max())  # 计算最大值
print(s.min())  # 计算最小值
print(s.sum())  # 计算总和

这些方法可以方便地对 Series 中的数据进行统计分析。

综上所述,Series 是 Pandas 中一个非常基础且重要的数据结构,掌握其创建、访问、运算和处理等操作,对于数据分析和处理非常有帮助。

posted on 2025-03-15 18:49  阿陶学长  阅读(225)  评论(0)    收藏  举报