Pandas中Series的属性,方法,常用操作使用案例

作者:计科_xiao_cai_ji 时间:2021-11-22 05:00:47 

包的引入:

import numpy as np
import pandas as pd

1. Series 对象的创建

1.1 创建一个空的 Series 对象

s = pd.Series()
print(s)
print(type(s))

Pandas中Series的属性,方法,常用操作使用案例

1.2 通过列表创建一个 Series 对象

需要传入一个列表序列

l = [1, 2, 3, 4]
s = pd.Series(l)
print(s)
print('-'*20)
print(type(s))

Pandas中Series的属性,方法,常用操作使用案例

1.3 通过元组创建一个 Series 对象

需要传入一个元组序列

t = (1, 2, 3)
s = pd.Series(t)
print(s)
print('-'*20)
print(type(s))

Pandas中Series的属性,方法,常用操作使用案例

1.4 通过字典创建一个 Series 对象

需要传入一个字典

m = {'zs': 12, 'ls': 23, 'ww': 22}
s = pd.Series(m)
print(s)
print('-'*20)
print(type(s))

Pandas中Series的属性,方法,常用操作使用案例

1.5 通过 ndarray 创建一个 Series 对象

需要传入一个 ndarray

ndarr = np.array([1, 2, 3])
s = pd.Series(ndarr)
print(s)
print('-'*20)
print(type(s))

Pandas中Series的属性,方法,常用操作使用案例

1.6 创建 Series 对象时指定索引

index:用于设置 Series 对象的索引

age = [12, 23, 22, 34]
name = ['zs', 'ls', 'ww', 'zl']
s = pd.Series(age, index=name)
print(s)
print('-'*20)
print(type(s))

Pandas中Series的属性,方法,常用操作使用案例

1.7 通过一个标量(数)创建一个 Series 对象

num = 999
s = pd.Series(num, index=[1, 2, 3, 4])
print(s)
print('-'*20)
print(type(s))

Pandas中Series的属性,方法,常用操作使用案例

ndarr = np.arange(0, 10, 2)
s = pd.Series(5, index=ndarr)
print(s)
print('-'*20)
print(type(s))

Pandas中Series的属性,方法,常用操作使用案例

2. Series 的属性

2.1 values ---- 返回一个 ndarray 数组

l = [11, 22, 33, 44]
s = pd.Series(l)
print(s)
print('-'*20)
ndarr = s.values
print(ndarr)
print('-'*20)
print(type(ndarr))

Pandas中Series的属性,方法,常用操作使用案例

2.2 index ---- 返回 Series 的索引序列

d = {'zs': 12, 'ls': 23, 'ww': 35}
s = pd.Series(d)
print(s)
print('-'*20)
idx = s.index
print(idx)
print('-'*20)
print(type(idx))

Pandas中Series的属性,方法,常用操作使用案例

2.3 dtype ---- 返回 Series 中元素的数据类型

d = {'zs': 12, 'ls': 23, 'ww': 35}
s = pd.Series(d)
print(s)
print('-'*20)
print(s.dtype)

Pandas中Series的属性,方法,常用操作使用案例

2. 4 size ---- 返回 Series 中元素的个数

d = {'zs': 12, 'ls': 23, 'ww': 35}
s = pd.Series(d)
print(s)
print('-'*20)
print(s.size)

Pandas中Series的属性,方法,常用操作使用案例

2.5 ndim ---- 返回 Series 的维数

d = {'zs': 12, 'ls': 23, 'ww': 35}
s1 = pd.Series(d)
print(s1)
print('-'*20)
print(s1.ndim)
l = [[1, 1], [2, 2], [3, 3]]
s2 = pd.Series(l)
print(s2)
print('-'*20)
print(s2.ndim)

Pandas中Series的属性,方法,常用操作使用案例

2.6 shape ---- 返回 Series 的维度

d = {'zs': 12, 'ls': 23, 'ww': 35}
s1 = pd.Series(d)
print(s1)
print('-'*20)
print(s1.shape)
print()

l = [[1, 1], [2, 2], [3, 3]]
s2 = pd.Series(l)
print(s2)
print('-'*20)
print(s2.shape)

Pandas中Series的属性,方法,常用操作使用案例

3. Series 的方法

3.1 mean() ---- 求算术平均数

l = [12, 23, 24, 34]
s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl'])
print(s)
print()
print(s.mean())

Pandas中Series的属性,方法,常用操作使用案例

3.2 min() max() ---- 求最值

l1 = [12, 23, 24, 34]
s1 = pd.Series(l, index=['zs', 'ls', 'ww', 'zl'])
print(s1)
print()
print(s1.max())
print(s1.min())
print()
l2 = ['ac', 'ca', 'cd', 'ab']
s2 = pd.Series(l2)
print(s2)
print()
print(s2.max())
print(s2.min())

Pandas中Series的属性,方法,常用操作使用案例

3.3 argmax() argmin() idxmax() idxmin() ---- 获取最值索引

l1 = [12, 23, 24, 34]
s1 = pd.Series(l, index=['zs', 'ls', 'ww', 'zl'])
print(s1)
print()
# argmax() -- 最大值的数字索引
# idxmax() -- 最大值的标签索引
# 两个都不支持字符串类型的数据
print(s1.max(), s1.argmax(), s1.idxmax())
print(s1.min(), s1.argmin(), s1.idxmin())

Pandas中Series的属性,方法,常用操作使用案例

3.4 median() ---- 求中位数

l = [12, 23, 24, 34]
s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl'])
print(s)
print()
print(s.median())

Pandas中Series的属性,方法,常用操作使用案例

3.5 value_counts() ---- 求频数

l = [12, 23, 24, 34]
s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl'])
print(s)
print()
print(s.value_counts())

Pandas中Series的属性,方法,常用操作使用案例

3.6 mode() ---- 求众数

l = [12, 23, 24, 34]
s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl'])
print(s)
print()
print(s.mode())
print()
l = [12, 23, 24, 34, 34]
s = pd.Series(l, index=['zs', 'ls', 'ww', 'zl', 'zq'])
print(s)
print()
print(s.mode())

Pandas中Series的属性,方法,常用操作使用案例

3.7 quantile() ---- 求四分位数

四分位数:把数值从小到大排列并分成四等分,处于三个分割点位置的数值就是四分位数。

需要传入一个列表,列表中的元素为要获取的数的对应位置

l = [1, 1, 2, 2, 3, 3, 4, 4]
s = pd.Series(l)
print(s)
print()
print(s.quantile([0, .25, .50, .75, 1]))

Pandas中Series的属性,方法,常用操作使用案例

3.8 std() ---- 标准差

总体标准差是反映研究总体内个体之间差异程度的一种统计指标。
总体标准差计算公式:

Pandas中Series的属性,方法,常用操作使用案例

由于总体标准差计算出来会偏小,所以采用 ( n − d d o f ) (n-ddof) (n−ddof)的方式适当扩大标准差,即样本标准差。
样本标准差计算公式:

Pandas中Series的属性,方法,常用操作使用案例

l = [1, 1, 2, 2, 3, 3, 4, 4]
s = pd.Series(l)
print(s)
print()
# 总体标准差
print(s.std())
print()
print(s.std(ddof=1))
print()
# 样本标准差
print(s.std(ddof=2))

Pandas中Series的属性,方法,常用操作使用案例

3.9 describe() ---- 统计 Series 的常见统计学指标结果

l = [1, 1, 2, 2, 3, 3, 4, 4]
s = pd.Series(l)
print(s)
print()
print(s.describe())

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

3.10.2 降序

l = [4, 2, 1, 3]
s = pd.Series(l)
print(s)
print()
s = s.sort_values(ascending=False)
print(s)

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

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))

Pandas中Series的属性,方法,常用操作使用案例

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))

Pandas中Series的属性,方法,常用操作使用案例

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])

Pandas中Series的属性,方法,常用操作使用案例

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])

Pandas中Series的属性,方法,常用操作使用案例

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])

Pandas中Series的属性,方法,常用操作使用案例

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])

Pandas中Series的属性,方法,常用操作使用案例

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]])

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

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)

Pandas中Series的属性,方法,常用操作使用案例

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'])

Pandas中Series的属性,方法,常用操作使用案例

来源:https://blog.csdn.net/m0_53022813/article/details/125954547

标签:Pandas,Series,属性,方法,操作
0
投稿

猜你喜欢

  • Python 实现图片色彩转换案例

    2021-01-12 21:35:56
  • Python抓取Discuz!用户名脚本代码

    2023-06-20 00:34:40
  • Django media static外部访问Django中的图片设置教程

    2023-03-05 03:51:15
  • 深入了解Django View(视图系统)

    2022-07-18 14:47:13
  • python使用rsa非对称加密过程解析

    2021-06-15 00:14:51
  • 使用Python的音乐播放器GUI的实现

    2022-03-02 05:02:45
  • python用Tkinter做自己的中文代码编辑器

    2023-08-12 05:32:33
  • python爬虫 requests-html的使用

    2023-05-08 02:41:16
  • Win10安装MySQL5.7.18winX64 启动服务器失败并且没有错误提示

    2024-01-27 04:59:14
  • Python从使用线程到使用async/await的深入讲解

    2021-07-26 10:56:11
  • JS实战篇之收缩菜单表单布局

    2024-04-18 09:47:43
  • Python搭建代理IP池实现存储IP的方法

    2023-04-21 10:58:24
  • Python如何实现逐行读取文本文件

    2022-06-10 03:34:54
  • javascript 45种缓动效果(一)

    2009-09-19 18:30:00
  • SQL Server数据库附加失败的解决办法

    2024-01-25 05:38:23
  • Python如何将控制台输出另存为日志文件

    2023-11-27 03:09:55
  • js全选/全不选/反选 checkbox代码

    2008-03-18 13:00:00
  • python机器学习混淆矩阵及confusion matrix函数使用

    2023-03-08 18:14:12
  • Mysql查询很慢卡在sending data的原因及解决思路讲解

    2024-01-18 02:40:45
  • vscode配置远程开发与免密登录的技巧

    2023-04-29 02:43:41
  • asp之家 网络编程 m.aspxhome.com