趋近智
APX AI
在线
趋近智
要创建 Pandas Series(一种带标签的一维数组),有几种常见方法可以使用。pd.Series() 构造函数是主要工具。
我们需要 Pandas 库,它通常使用别名 pd 导入。如果您还打算使用 NumPy 数组(它与 Pandas 配合得很好),则将其导入为 np。
import pandas as pd
import numpy as np
创建 Series 最直接的方法是使用标准的 Python 列表。如果您不指定索引,Pandas 会自动创建一个从 0 开始的默认整数索引。
# 创建一个简单的 Python 列表
data_list = [10, 20, 30, 40, 50]
# 从列表创建 Pandas Series
series_from_list = pd.Series(data_list)
# 打印 Series
print(series_from_list)
输出:
0 10
1 20
2 30
3 40
4 50
dtype: int64
注意输出显示了两列:左侧是索引(0 到 4),右侧是数据值。Pandas 还会推断数据类型(在此例中是 dtype: int64,表示 64 位整数)。
虽然默认的整数索引很有用,但 Series 真正的用处在于它能够为索引使用有意义的标签。您可以在创建时使用 index 参数 (parameter)提供一个标签列表或数组。索引列表的长度必须与数据列表相同。
# 数据列表
data_list = [100, 200, 300, 400]
# 自定义索引标签
index_labels = ['alpha', 'beta', 'gamma', 'delta']
# 创建带自定义索引的 Series
series_custom_index = pd.Series(data=data_list, index=index_labels)
# 打印 Series
print(series_custom_index)
输出:
alpha 100
beta 200
gamma 300
delta 400
dtype: int64
现在,索引不再是 0、1、2、3,而是由字符串标签 'alpha'、'beta'、'gamma' 和 'delta' 组成。这使得访问特定数据点更直观,我们将在后面的章节中看到。
您可以同样轻松地从 NumPy 数组创建 Series。这非常普遍,因为数据通常源自使用 NumPy 进行的数值计算。这个过程与使用列表相同。
# 创建一个 NumPy 数组
numpy_array = np.array([5.5, 6.6, 7.7, 8.8])
# 从 NumPy 数组创建 Series
series_from_numpy = pd.Series(numpy_array)
# 打印 Series
print(series_from_numpy)
输出:
0 5.5
1 6.6
2 7.7
3 8.8
dtype: float64
同样,Pandas 会创建默认的整数索引并推断数据类型(在此例中是 float64)。您也可以在从 NumPy 数组创建 Series 时提供自定义索引,就像使用列表一样。
另一种方便的方法是直接从 Python 字典创建 Series。在这种情况下,Pandas 会使用字典键作为索引标签,字典值作为 Series 数据。Series 元素的顺序通常会遵循字典的插入顺序(对于 Python 3.7+)。
# 创建一个 Python 字典
data_dict = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
# 从字典创建 Series
series_from_dict = pd.Series(data_dict)
# 打印 Series
print(series_from_dict)
输出:
Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
dtype: int64
当您的数据已按键值对形式组织时,这种方法特别有用。
您也可以在从字典创建 Series 时显式指定索引。如果提供的索引标签在字典中不存在对应的键,Pandas 会插入一个 NaN(非数字)值,这是 Pandas 表示缺失数据的标准方式。如果字典包含未出现在指定索引中的键,则这些键值对将被忽略。
# 字典
data_dict = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
# 显式索引 - 包含 'California'(不在字典中)并排除 'Utah'
states = ['California', 'Ohio', 'Oregon', 'Texas']
# 创建带显式索引的 Series
series_explicit_index = pd.Series(data_dict, index=states)
# 打印 Series
print(series_explicit_index)
输出:
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
dtype: float64
注意 'California' 具有 NaN 值,因为它不在 data_dict 中。此外,原始字典中的 'Utah' 被排除,因为它不在 states 索引列表中。dtype 变为 float64 是因为 NaN 被视为浮点值。
这些方法涵盖了实例化 Pandas Series 对象最常见的方式。当您处理数据时,您会经常发现自己从列表、字典或 NumPy 数组等现有数据结构创建 Series,作为您分析流程的第一步。
© 2026 ApX Machine Learning内容诚信与透明度•