Pandas 中文手册

3.2 Series的创建方法(多种场景适配)

Pandas Series创建方法详解:从列表、字典、NumPy数组等创建

Pandas 中文手册

本文详细讲解Pandas中Series的多种创建方法,包括从列表、元组、字典、NumPy数组创建Series,如何创建空Series和指定数据类型,并介绍Series和索引的命名技巧。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

Series的创建方法(多种场景适配)

Series是Pandas库中的一维标记数组,它可以存储各种数据类型,并具有标签化的索引,使得数据处理更加直观和高效。本章将详细介绍在多种场景下如何创建Series,帮助初学者快速上手。

从列表/元组创建Series

使用Python列表或元组作为数据源创建Series是最基本的方法。默认情况下,索引从0开始自动生成。

import pandas as pd

# 从列表创建Series
data_list = [10, 20, 30, 40]
s1 = pd.Series(data_list)
print(s1)

输出:

0    10
1    20
2    30
3    40
dtype: int64

同样,也可以使用元组创建Series:

data_tuple = (10, 20, 30, 40)
s_tuple = pd.Series(data_tuple)
print(s_tuple)

输出结果类似,索引自动分配为0到3的整数。

从字典创建Series(自动将键作为索引)

当使用字典创建Series时,字典的键(key)会自动成为Series的索引,值(value)则作为数据。这种方式非常适用于带有标签的数据。

data_dict = {'a': 1, 'b': 2, 'c': 3}
s2 = pd.Series(data_dict)
print(s2)

输出:

a    1
b    2
c    3
dtype: int64

这简化了索引设置,特别是当数据本身有明确的标签时。

从NumPy数组创建Series

NumPy数组是科学计算中常用的数据结构,Pandas可以无缝与NumPy集成。直接将NumPy数组传递给Series构造函数即可。

import numpy as np

array = np.array([1.5, 2.5, 3.5])
s3 = pd.Series(array)
print(s3)

输出:

0    1.5
1    2.5
2    3.5
dtype: float64

注意,索引默认从0开始,数据类型会根据NumPy数组自动推断。

创建空Series与指定数据类型的Series

在某些情况下,您可能需要创建一个空的Series,或者指定Series的数据类型以优化内存和性能。

  • 创建空Series:使用pd.Series(),可选指定dtype参数来设置数据类型。

    # 创建空Series
    empty_series = pd.Series(dtype='float64')
    print(empty_series)
    

    输出:

    Series([], dtype: float64)
    
  • 创建指定数据类型的Series:在创建时通过dtype参数指定类型,例如int32float64object等。

    # 从列表创建,指定数据类型为int32
    s4 = pd.Series([1, 2, 3], dtype='int32')
    print(s4.dtype)  # 输出:int32
    

    这在处理大型数据集或需要特定精度时非常有用。

Series的命名与索引命名

为了提高代码的可读性,可以为Series和索引指定名称。

  • 命名Series:使用name参数在创建时指定,或通过Series.name属性修改。

    # 创建时命名Series
    s5 = pd.Series([10, 20, 30], name='Values')
    print(s5.name)  # 输出:Values
    
    # 修改Series名称
    s5.name = 'Data'
    print(s5.name)  # 输出:Data
    
  • 命名索引:通过Series.index.name属性为索引设置名称。

    # 设置索引名称
    s5.index.name = 'Index'
    print(s5)
    

    输出:

    Index
    0    10
    1    20
    2    30
    Name: Data, dtype: int64
    

通过这些命名,可以更清晰地表达数据的含义,便于在后续的数据操作(如合并、分组)中使用。

总结

本章介绍了Pandas Series的多种创建方法,包括从列表/元组、字典、NumPy数组创建,以及如何创建空Series、指定数据类型和设置名称。这些方法覆盖了大部分实际应用场景,有助于初学者灵活使用Series来处理一维数据。在后续章节中,我们将深入探讨Series的操作和DataFrame的创建。

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包