探索Pandas中的Series函数,数据科学的瑞士军刀
常识
2024年10月28日 07:17 41
韩晴
在数据科学和数据分析领域,Pandas 是一个不可或缺的工具,它提供了丰富的数据结构和数据操作功能,使得数据处理变得更加高效和直观。Series 是 Pandas 中最基本的单列数据结构,类似于一维数组或字典,本文将深入探讨Series 函数的各种功能和用法,帮助你更好地理解和应用这一强大的工具。
什么是 Series?
Series 是 Pandas 库中的一种一维数组对象,可以存储任何数据类型(整数、浮点数、字符串等),每个元素都有一个对应的标签,称为索引。Series 的基本结构如下:
import pandas as pd 创建一个简单的 Series s = pd.Series([1, 3, 5, np.nan, 6, 8]) print(s)
输出结果:
0 1.0 1 3.0 2 5.0 3 NaN 4 6.0 5 8.0 dtype: float64
在这个例子中,Series 包含了六个元素,其中第四个元素是NaN(Not a Number),表示缺失值,索引默认从 0 开始,但也可以自定义。
创建 Series
创建Series 有多种方式,以下是一些常见的方法:
1、从列表创建:
s = pd.Series([1, 2, 3, 4, 5]) print(s)
2、从字典创建:
d = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(d)
print(s)3、从 NumPy 数组创建:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) s = pd.Series(arr) print(s)
4、指定索引:
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) print(s)
Series 的基本操作
1、访问元素:
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) 通过索引访问 print(s['a']) # 输出: 1 通过位置访问 print(s[0]) # 输出: 1
2、切片操作:

print(s['a':'c']) # 输出: a 1
# b 2
# c 3
# dtype: int64
print(s[0:3]) # 输出: a 1
# b 2
# c 3
# dtype: int643、布尔索引:
print(s[s > 2]) # 输出: c 3
# d 4
# e 5
# dtype: int644、修改元素:
s['a'] = 10
print(s) # 输出: a 10
# b 2
# c 3
# d 4
# e 5
# dtype: int645、删除元素:
s = s.drop('a')
print(s) # 输出: b 2
# c 3
# d 4
# e 5
# dtype: int64Series 的数学运算
Series 支持各种数学运算,包括加、减、乘、除等,这些运算可以应用于整个Series 或者与标量进行运算。
1、加法:
s1 = pd.Series([1, 2, 3, 4, 5])
s2 = pd.Series([1, 2, 3, 4, 5])
print(s1 + s2) # 输出: 0 2
# 1 4
# 2 6
# 3 8
# 4 10
# dtype: int642、减法:
print(s1 - s2) # 输出: 0 0
# 1 0
# 2 0
# 3 0
# 4 0
# dtype: int643、乘法:
print(s1 * s2) # 输出: 0 1
# 1 4
# 2 9
# 3 16
# 4 25
# dtype: int644、除法:
print(s1 / s2) # 输出: 0 1.0
# 1 1.0
# 2 1.0
# 3 1.0
# 4 1.0
# dtype: float645、与标量运算:

print(s1 + 10) # 输出: 0 11
# 1 12
# 2 13
# 3 14
# 4 15
# dtype: int64Series 的统计方法
Series 提供了许多统计方法,用于计算各种统计数据。
1、求和:
print(s1.sum()) # 输出: 15
2、平均值:
print(s1.mean()) # 输出: 3.0
3、最大值:
print(s1.max()) # 输出: 5
4、最小值:
print(s1.min()) # 输出: 1
5、标准差:
print(s1.std()) # 输出: 1.5811388300841898
6、描述性统计:
print(s1.describe())
输出结果:
count 5.000000 mean 3.000000 std 1.581139 min 1.000000 25% 2.000000 50% 3.000000 75% 4.000000 max 5.000000 dtype: float64
Series 的排序

Series 可以根据值或索引进行排序。
1、按值排序:
s = pd.Series([1, 3, 2, 5, 4], index=['a', 'b', 'c', 'd', 'e'])
print(s.sort_values()) # 输出: a 1
# c 2
# b 3
# e 4
# d 5
# dtype: int642、按索引排序:
print(s.sort_index()) # 输出: a 1
# b 3
# c 2
# d 5
# e 4
# dtype: int64Series 的合并与拼接
Series 可以通过concat 方法进行合并和拼接。
1、垂直拼接:
s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
s2 = pd.Series([4, 5, 6], index=['d', 'e', 'f'])
s = pd.concat([s1, s2])
print(s) # 输出: a 1
# b 2
# c 3
# d 4
# e 5
# f 6
# dtype: int642、水平拼接:
s1 = pd.Series([1,
相关文章
