天天快播:Pandas中Series的属性,方法,常用操作使用案例
目录
1. Series 对象的创建1.1 创建一个空的 Series 对象1.2 通过列表创建一个 Series 对象1.3 通过元组创建一个 Series 对象1.4 通过字典创建一个 Series 对象1.5 通过 ndarray 创建一个 Series 对象1.6 创建 Series 对象时指定索引1.7 通过一个标量(数)创建一个 Series 对象2. Series 的属性2.1 values ---- 返回一个 ndarray 数组2.2 index ---- 返回 Series 的索引序列2.3 dtype ---- 返回 Series 中元素的数据类型2. 4 size ---- 返回 Series 中元素的个数2.5 ndim ---- 返回 Series 的维数2.6 shape ---- 返回 Series 的维度3. Series 的方法3.1 mean() ---- 求算术平均数3.2 min() max() ---- 求最值3.3 argmax() argmin() idxmax() idxmin() ---- 获取最值索引3.4 median() ---- 求中位数3.5 value_counts() ---- 求频数3.6 mode() ---- 求众数3.7 quantile() ---- 求四分位数3.8 std() ---- 标准差3.9 describe() ---- 统计 Series 的常见统计学指标结果3.10 sort_values() ---- 根据元素值进行排序3.10.2 降序3.11 sort_index() ---- 根据索引值进行排序3.11.2 升序3.11.2 降序3.12 apply() ---- 根据传入的函数参数处理 Series 对象3.13 head() ---- 查看 Series3.14 tail() ---- 查看 Series 对象的后 x 个元素4. Series 的常用操作4.1 Series 对象的数据访问4.1.1 使用数字索引进行访问4.1.2 使用自定义标签索引进行访问4.1.3 使用索引掩码进行访问4.1.4 一次性访问多个元素4.2 Series 对象数据元素的删除4.2.1 pop()4.2.2 drop()4.3 Series 对象数据元素的修改4.3.1 通过标签索引进行修改4.3.2 通过数字索引进行修改4.4 Series 对象数据元素的添加4.4.1 通过标签索引添加4.4.2 append()包的引入:
import numpy as np import pandas as pd
1. Series 对象的创建
1.1 创建一个空的 Series 对象
s = pd.Series() print(s) print(type(s))
1.2 通过列表创建一个 Series 对象
需要传入一个列表序列
(资料图片)
l = [1, 2, 3, 4] s = pd.Series(l) print(s) print("-"*20) print(type(s))
1.3 通过元组创建一个 Series 对象
需要传入一个元组序列
t = (1, 2, 3) s = pd.Series(t) print(s) print("-"*20) print(type(s))
1.4 通过字典创建一个 Series 对象
需要传入一个字典
m = {"zs": 12, "ls": 23, "ww": 22} s = pd.Series(m) print(s) print("-"*20) print(type(s))
1.5 通过 ndarray 创建一个 Series 对象
需要传入一个 ndarray
ndarr = np.array([1, 2, 3]) s = pd.Series(ndarr) print(s) print("-"*20) print(type(s))
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))
1.7 通过一个标量(数)创建一个 Series 对象
num = 999 s = pd.Series(num, index=[1, 2, 3, 4]) print(s) print("-"*20) print(type(s))
ndarr = np.arange(0, 10, 2) s = pd.Series(5, index=ndarr) print(s) print("-"*20) print(type(s))
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))
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))
2.3 dtype ---- 返回 Series 中元素的数据类型
d = {"zs": 12, "ls": 23, "ww": 35} s = pd.Series(d) print(s) print("-"*20) print(s.dtype)
2. 4 size ---- 返回 Series 中元素的个数
d = {"zs": 12, "ls": 23, "ww": 35} s = pd.Series(d) print(s) print("-"*20) print(s.size)
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)
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)
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())
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())
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())
3.4 median() ---- 求中位数
l = [12, 23, 24, 34] s = pd.Series(l, index=["zs", "ls", "ww", "zl"]) print(s) print() print(s.median())
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())
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())
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]))
3.8 std() ---- 标准差
总体标准差是反映研究总体内个体之间差异程度的一种统计指标。
总体标准差计算公式:
由于总体标准差计算出来会偏小,所以采用 ( n − d d o f ) (n-ddof) (n−ddof)的方式适当扩大标准差,即样本标准差。
样本标准差计算公式:
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))
3.9 describe() ---- 统计 Series 的常见统计学指标结果
l = [1, 1, 2, 2, 3, 3, 4, 4] s = pd.Series(l) print(s) print() print(s.describe())
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() 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"])
到此这篇关于Pandas中Series的属性,方法,常用操作使用案例的文章就介绍到这了,更多相关Pandas中Series属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单