数据处理与统计分析——04-Pandas中Series的常用方法、属性、布尔索引、运算操作

server/2024/11/18 10:48:29/

Series

概述

  • Series也是Pandas中的最基本的数据结构对象,也是DataFrame的列对象或者行对象,series本身也具有行索引。
  • Series是一种类似于一维数组的对象,由下面两个部分组成:
    • values:一组数据(numpy.ndarray类型)
    • index:相关的数据行索引标签;如果没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引。

(1) Series的常用属性

  • 常见属性

    属性说明
    loc使用索引值取子集
    iloc使用索引位置取子集
    dtype或dtypesSeries内容的类型
    TSeries的转置矩阵
    shape数据的维数
    sizeSeries中元素的数量
    valuesSeries的值
    indexSeries的索引值
    • loc属性
    python">first_row = data.loc[941]
    print(first_row)        # 获取第一行数据, 但是是以列的方式展示的
    print(type(first_row))  # <class 'pandas.core.series.Series'>
    
    • iloc属性
    python">first_row = data.iloc[0] # 使用索引位置获取自己
    print(first_row)        # 获取第一行数据, 但是是以列的方式展示的
    print(type(first_row))  # <class 'pandas.core.series.Series'>
    
    • dtype 或 dtypes
    python">print(first_row.dtype)          # 打印Series的元素类型, object表示字符串
    print(first_row['year'].dtype)  # 打印Series的year列的元素类型, int64# 打印Series的year列的元素类型, 该列值为字符串, 字符串没有dtype属性, 所以报错.
    print(first_row['firstname'].dtype)  
    
    • shape 和 size属性
    python">print(first_row.shape)		# 维度
    # 结果为: (7,)		因为有7列元素
    print(first_row.size)		# 元素个数: 7
    
    • values 属性
    python">print(first_row.values) # 获取Series的元素值
    
    • index属性
    python">print(first_row.index)  # 获取Series的索引print(first_row.keys()) # Series对象的keys()方法, 效果同上.
    

(2) Series的常用方法

  • 常用方法

    方法说明
    append连接两个或多个Series
    corr计算与另一个Series的相关系数
    cov计算与另一个Series的协方差
    describe计算常见统计量
    drop_duplicates返回去重之后的Series
    equals判断两个Series是否相同
    get_values获取Series的值,作用与values属性相同
    hist绘制直方图
    isinSeries中是否包含某些值
    min返回最小值
    max返回最大值
    mean返回算术平均值
    median返回中位数
    mode返回众数
    quantile返回指定位置的分位数
    replace用指定值代替Series中的值
    sample返回Series的随机采样值
    sort_values对值进行排序
    to_frame把Series转换为DataFrame
    unique去重返回数组
    value_counts统计不同值数量
    keys获取索引值
    head查看前5个值
    tail查看后5个值
  • 代码演示

    python"># 1. 创建Series对象.
    s1 = pd.Series(data=[1, 2, 3, 4, 2, 3], index=['A', 'B', 'C', 'D', 'E', 'F'])
    print(s1)# 2. 演示Series对象的常用方法.
    print(len(s1))      # 获取长度, 6
    print(s1.head())    # 获取前5条数据
    print(s1.head(n=2)) # 获取前2条数据print(s1.tail())    # 获取后5条数据
    print(s1.tail(n=3)) # 获取后3条数据print(s1.keys())    # 获取所有的列名print(s1.tolist())  # Series -> list列表
    print(s1.to_list()) # 效果同上
    print(s1.to_frame())# Series -> DataFrame对象print(s1.sort_values())                 # 根据 值进行排序 默认 asc=True 升序 从小到大
    print(s1.sort_values(ascending=False))  # 根据 值进行排序, False为降序 从大到小
    print(s1.sort_index())                  # 根据 索引进行排序, 默认升序# 平均值, 最大值, 最小值, 求和, 标准差...
    print(s1.mean())
    print(s1.max())
    print(s1.min())
    print(s1.sum())
    print(s1.std())     # 标准差
    print(s1.var())     # 方差# 查看各列的 非空值总数
    print(s1.count())
    # 统计每个元素的个数
    print(s1.value_counts())    # 类似于SQL语句: select 性别, count(id) from 表名 group by 性别;
    # 查看 Series列 的详细信息
    print(s1.describe())
    

(3) Series的布尔索引

python"># 1. 读取数据   True -> 要, False -> 不要
df6 = pd.read_csv('data/scientists.csv')
df6
#%%
# 2. 查看每列的详细信息
df6.describe()   # 统计信息
df6.info         # 详细信息
#%%
# 3. 从 df对象中 -> 获取 Series对象
series_age = df6.Age
series_age
#%%
# 4. 演示 Series对象的 布尔索引
bool_list = [True, False, False, True, True, False, False, True]
print(series_age[bool_list])
#%%
# 5. 筛选年龄大于平均年龄的科学家
# 5.1 获取平均年龄
avg_mean = series_age.mean()
avg_mean
#%%
# 5.2 看看当前年龄 是否大于 平均年龄
cur_bool = [series_age > avg_mean]
cur_bool
#%%
# 5.3 获取 年龄大于平均年龄的科学家
df6.Name[series_age > avg_mean]
#%%
# 5.3 方式二
df6['Name'][df6['Age'] > df6['Age'].mean()]

(4) Series的运算

python"># 场景1: Series对象 和 数值运算, 则数值会和 Series对象的每个值进行具体的运算. 
series_age + 100
series_age * 2
#%%
# 场景2: Series对象 和 Series对象运算, 会优先参考 索引列运算, 即: 索引值相同的进行计算, 不同的用NAN(空值)填充.
series_age + series_age
#%%
series_age.sort_index(ascending=False) + series_age
#%%
series_age + pd.Series([1, 2, 3])
series_age + pd.Series([1, 2, 3], index=['a', 'b', 'c'])

http://www.ppmy.cn/server/142887.html

相关文章

Http常⻅见请求/响应头content-type内容类型讲解(笔记)

常见的 Content-Type 媒体类型 text类型&#xff1a; text/html&#xff1a;HTML格式&#xff0c;常用于网页内容。text/plain&#xff1a;纯文本格式&#xff0c;未进行任何格式化。text/xml&#xff1a;XML格式&#xff0c;表示以 XML 格式传输的数据。 image类型&#xff08…

【Nginx】反向代理Https时相关参数:

在Nginx代理后台HTTPS服务时&#xff0c;有几个关键的参数需要配置&#xff0c;以确保代理服务器能够正确地与后端服务器进行通信。一些重要参数的介绍&#xff1a; proxy_ssl_server_name&#xff1a;这个参数用于指定是否在TLS握手时通过SNI&#xff08;Server Name Indicati…

Docker基础概念

Docker基础概念 文章目录 Docker基础概念前言一、docker结构二、容器的概念 前言 为什么要学习docker?docker是现在主流流行的容器化部署服务的技术栈之一。过去传统部署服务器的时候有这些缺点 1.各种中间件&#xff0c;数据库等部署麻烦&#xff0c;版本控制难度大 2.一个服…

go+powershell脚本实现预填写管理凭据安装软件

这里使用了powershell脚本进行操作&#xff0c;使用golang进行简单的封装,实现普通用户下安装软件 powershell命令解释 $securePassword ConvertTo-SecureString "yourpasswd" -AsPlainText -Force #转换密码为SecureString格式 $credential New-Object System.Ma…

PyTorch——从入门到精通:PyTorch基础知识(张量)【PyTorch系统学习】

什么是张量&#xff08;Tensor&#xff09; ​ 张量在数学中是一个代数对象&#xff0c;描述了与矢量空间相关的代数对象集之间的多重线性映射。张量是向量和矩阵概念的推广&#xff0c;可以理解为多维数组。作为数学中的一个基本概念&#xff0c;张量有着多种类型&#xff0c;…

cache size = 16 bytes, cache line size = 4 bytes, direct-mapped cache

当 cache size 16 bytes 且 cache line size 4 bytes&#xff0c;并且是 direct-mapped cache (直接映射缓存) 时&#xff0c;可以根据以下规则配置缓存&#xff1a; 1. 基本计算 总缓存大小 16 bytes&#xff08;整个缓存可以存储的字节数&#xff09;。Cache line 大小 …

智能购物时代:AI在电商平台的革命性应用

在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;技术已成为推动电商行业发展的关键力量。AI技术的应用不仅改变了电商的运营模式&#xff0c;还极大地丰富了消费者的购物体验。随着技术的不断进步&#xff0c;AI在电商领域的应用越来越广泛&#xff0c;从个性…

基于OpenCV的自制Python访客识别程序

这是我用Pyqt5&#xff0c;基于OpenCV做的一个Python访客识别程序&#xff0c;它具体包括如下5个功能&#xff1a; 1、选择媒体菜单&#xff0c;可以打开本地摄像头&#xff1b;如果知道rtsp地址&#xff0c;则可以直接访问局域网内的网络串流。 2、选择播放菜单&#xff0c;…