探索Pandas中的Series函数,数据科学的瑞士军刀
常识
2024年10月28日 07:17 34
昊含
在数据科学和数据分析领域,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: int64
3、布尔索引:
print(s[s > 2]) # 输出: c 3 # d 4 # e 5 # dtype: int64
4、修改元素:
s['a'] = 10 print(s) # 输出: a 10 # b 2 # c 3 # d 4 # e 5 # dtype: int64
5、删除元素:
s = s.drop('a') print(s) # 输出: b 2 # c 3 # d 4 # e 5 # dtype: int64
Series 的数学运算
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: int64
2、减法:
print(s1 - s2) # 输出: 0 0 # 1 0 # 2 0 # 3 0 # 4 0 # dtype: int64
3、乘法:
print(s1 * s2) # 输出: 0 1 # 1 4 # 2 9 # 3 16 # 4 25 # dtype: int64
4、除法:
print(s1 / s2) # 输出: 0 1.0 # 1 1.0 # 2 1.0 # 3 1.0 # 4 1.0 # dtype: float64
5、与标量运算:
print(s1 + 10) # 输出: 0 11 # 1 12 # 2 13 # 3 14 # 4 15 # dtype: int64
Series 的统计方法
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: int64
2、按索引排序:
print(s.sort_index()) # 输出: a 1 # b 3 # c 2 # d 5 # e 4 # dtype: int64
Series 的合并与拼接
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: int64
2、水平拼接:
s1 = pd.Series([1,
相关文章