pandas的Series类型与基本操作详解
概述
pandas
是一个非常常用的Python数据分析库。其中,Series
是pandas
的一个数据结构,用来存储一维同质数据,也就是说Series
中只能存储同一类型的数据。在本文中,将详细讲解Series
类型及其基本操作。
创建Series
在pandas
中创建一个Series
类型可以有多种方式。比如,可以从列表、元组或字典中创建,也可以手动传入数据和索引。
1. 从列表或元组中创建Series
import pandas as pd
# 从列表中创建
s1 = pd.Series([1, 3, 5, 7, 9])
print(s1)
# 从元组中创建
s2 = pd.Series((2, 4, 6, 8, 10))
print(s2)
以上代码中,分别使用list
和tuple
创建了两个Series
类型的数据,并打印输出了这两个数据。
2. 从字典中创建Series
import pandas as pd
# 从字典中创建,键会自动变成Series的索引
s3 = pd.Series({'a': 1, 'b': 3, 'c': 5, 'd': 7})
print(s3)
在以上代码中,我们通过字典来创建了一个Series
类型。在这种方式中,字典的键会自动被转化为Series
类型中的索引,而字典中的值则自动变为Series
类型的数据。
3. 手动传入数据和索引
import pandas as pd
s4 = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
print(s4)
在以上代码中,手动传入了数据和索引,创建了一个Series
类型的数据,并打印输出。可通过指定index
参数来自定义索引。当然,如果不指定索引,pandas
会自动为数据生成一个默认的整数型索引。
访问数据
Series
类型中的元素可以通过索引访问。下面是一些常见的访问数据的方法。
1. 根据数字索引访问数据
import pandas as pd
s1 = pd.Series([1, 3, 5, 7, 9])
print(s1[2]) # 访问第3个元素,打印输出5
以上代码展示了如何根据数字索引来访问Series
类型中的数据。Python
中的索引是从0开始的,因此s1[2]
表示访问第3个元素。
2. 根据索引标签访问数据
import pandas as pd
s3 = pd.Series({'a': 1, 'b': 3, 'c': 5, 'd': 7})
print(s3['b']) # 访问字典中键为b的值,打印输出3
在以上代码中,使用索引标签访问Series
类型中的数据。这种方式非常灵活,只要传入正确的索引标签就能获取对应的元素。
数据的基本操作
Series
类型的数据支持一些基本的数据处理操作。下面我们将介绍一些基本操作。
1. 索引和切片
import pandas as pd
s1 = pd.Series([1, 3, 5, 7, 9])
# 索引
print(s1[2]) # 打印输出5
# 切片
print(s1[1:4]) # 打印输出:1 3\n2 5\n3 7\ndtype: int64
在以上代码中,我们使用索引和切片方式来访问Series
类型数据。和Python
中的标准列表一样,使用冒号:
进行切片。需要注意的是,Series
类型也支持基于标签进行切片的操作。
2. 矢量化操作
import pandas as pd
s1 = pd.Series([1, 3, 5, 7, 9])
# 加法操作
print(s1 + 2) # 打印输出:0 3\n1 5\n2 7\n3 9\n4 11\ndtype: int64
# 乘法操作
print(s1 * 2) # 打印输出:0 2\n1 6\n2 10\n3 14\n4 18\ndtype: int64
在以上代码中,我们演示了Series
类型数据的矢量化操作。矢量化操作使得计算过程变得更简单,且避免了针对每个元素进行操作的冗长循环。这使得Series
类型成为数据处理常用数据类型之一。
示例说明
下面是两个关于Series
类型的实际应用示例:
1. 数据过滤
import pandas as pd
# 创建一个Series数据
s1 = pd.Series([1, 3, 5, 7, 9])
# 过滤数据,筛选出所有小于5的数字
new_s1 = s1[s1 < 5]
print(new_s1)
以上代码演示了如何用Series
类型完成数据的过滤。首先,我们创建了一个Series
类型的数据s1
,然后用s1 < 5
判断每个元素是否小于5,返回一个布尔型的Series
,最后用这个布尔型Series
对原始数据进行了过滤。
2. 数据汇总
import pandas as pd
# 创建一个Series数据
s1 = pd.Series([1, 3, 5, 7, 9])
# 计算Series中所有数据的均值和标准差
print('Series的均值为:', s1.mean())
print('Series的标准差为:', s1.std())
以上代码演示了如何通过Series
类型对数据进行汇总。我们使用mean
函数和std
函数来计算数据的均值和标准差。需要注意的是,这些函数都不会改变原始数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas的Series类型与基本操作详解 - Python技术站