3.10 sort_values() ---- 根据元素值进行排序
- ascending:True为升序(默认),False为降序
3.10.1 升序
l = [4, 2, 1, 3] s = pd.Series(l) print(s) print() s = s.sort_values() print(s)
3.10.2 降序
l = [4, 2, 1, 3] s = pd.Series(l) print(s) print() s = s.sort_values(ascending=False) print(s)
3.11 sort_index() ---- 根据索引值进行排序
- ascending:True为升序(默认),False为降序
3.11.2 升序
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() s = s.sort_index() print(s)
3.11.2 降序
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() s = s.sort_index(ascending=False) print(s)
3.12 apply() ---- 根据传入的函数参数处理 Series 对象
- 需要传入一个函数参数
# x 为当前遍历到的元素 def func(x): if (x%2==0): return x+1 else: return x l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() # 调用 apply 方法,会将 Series 中的每个元素带入 func 函数中进行处理 s = s.apply(func) print(s)
3.13 head() ---- 查看 Series 对象的前 x 个元素
- 需要传入一个数 x ,表示查看前 x 个元素,默认为前5个
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() # head(x) 查看 Series 对象的前 x 个元素 print(s.head(2))
3.14 tail() ---- 查看 Series 对象的后 x 个元素
- 需要传入一个数 x ,表示查看后 x 个元素,默认为后5个
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() # tail(x) 查看 Series 对象的后 x 个元素 print(s.tail(2))
4. Series 的常用操作
4.1 Series 对象的数据访问
4.1.1 使用数字索引进行访问
4.1.1.1 未自定义索引
l = [12, 23, 24, 34] s = pd.Series(l) print(s) print() print(s[0]) print() print(s[1:-2]) print() print(s[::2]) print() print(s[::-1])
4.1.1.2 自定义索引
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() print(s[0]) print() print(s[1:-2]) print() print(s[::2]) print() print(s[::-1])
4.1.2 使用自定义标签索引进行访问
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() print(s['zs']) print() # 自定义标签索引进行切片包含开始与结束位置 print(s['ls':'zl']) print() print(s['zs':'zl':2]) print() # 注意切边范围的方向与步长的方向 print(s['zl':'zs':-1])
4.1.3 使用索引掩码进行访问
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() idx = (s%2==0) print(idx) print() # 索引掩码(也是一个数组) # 索引掩码个数与原数组的个数一致,数组每个元素都与索引掩码中的元素一一对应 # 数组每个元素都对应着索引掩码中的一个True或False # 只有索引掩码中为True所对应元素组中的元素才会被选中 print(s[idx])
4.1.4 一次性访问多个元素
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() # 选出指定索引对应的元素 print(s[['zs', 'ww']]) print() print(s[[1, 2]])
4.2 Series 对象数据元素的删除
4.2.1 pop()
- 传入要删除元素的标签索引
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() s.pop('ww') print(s)
4.2.2 drop()
- 传入要删除元素的标签索引
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() # drop() 会返回一个删除元素后的新数组,不会对原数组进行修改 s = s.drop('zs') print(s)
4.3 Series 对象数据元素的修改
4.3.1 通过标签索引进行修改
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() s['zs'] = 22 print(s)
4.3.2 通过数字索引进行修改
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() s[1] = 22 print(s)
4.4 Series 对象数据元素的添加
4.4.1 通过标签索引添加
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() s['ll'] = 22 print(s)
4.4.2 append()
- 需要传入一个要添加到原 Series 对象的 Series 对象
l = [12, 23, 24, 34] s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl']) print(s) print() # 可以添加已经存在的索引及其值 s2 = pd.Series([11, 13], index=['zs', 'wd']) # append() 不会对原数组进行修改 s = s.append(s2) print(s) print() print(s['zs'])