3.2 Series的创建方法(多种场景适配)
Pandas Series创建方法详解:从列表、字典、NumPy数组等创建
本文详细讲解Pandas中Series的多种创建方法,包括从列表、元组、字典、NumPy数组创建Series,如何创建空Series和指定数据类型,并介绍Series和索引的命名技巧。
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参数指定类型,例如int32、float64、object等。# 从列表创建,指定数据类型为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的创建。