【Pandas】pandas用法解析(下)

news2024/11/23 21:40:26

一、生成数据表

二、数据表信息查看

三、数据表清洗

四、数据预处理

————————————————

目录

五、数据提取

1.按索引提取单行的数值

2.按索引提取区域行数值

3.重设索引

4.设置日期为索引

5.提取4日之前的所有数据

6.使用iloc按位置区域提取数据

7.适应iloc按位置单独提起数据

8.使用ix按索引标签和位置混合提取数据

9.判断city列的值是否为北京

10.判断city列里是否包含beijing和shanghai,然后将符合条件的数据提取出来

11.提取前三个字符,并生成数据表

六、数据筛选

1.使用“与”进行筛选

2.使用“或”进行筛选

3.使用“非”条件进行筛选

4.对筛选后的数据按city列进行计数

5.使用query函数进行筛选

6.对筛选后的结果按prince进行求和

七、数据汇总

1.对所有的列进行计数汇总

2.按城市对id字段进行计数

3.对两个字段进行汇总计数

4.对city字段进行汇总,并分别计算prince的合计和均值

八、数据统计

1.简单的数据采样

2.手动设置采样权重

3.采样后不放回

4.采样后放回

5.数据表描述性统计

6.计算列的标准差

7.计算两个字段间的协方差

8.数据表中所有字段间的协方差

9..两个字段的相关性分析

10.数据表的相关性分析

九、数据输出

1.写入Excel

2.写入到CSV


五、数据提取

主要用到的三个函数:loc,iloc和ix。

loc函数按标签值进行提取,iloc按位置进行提取,ix可以同时按标签和位置进行提取。

1.按索引提取单行的数值

df_inner.loc[3]

2.按索引提取区域行数值

df_inner.iloc[0:5]

3.重设索引

df_inner.reset_index()

4.设置日期为索引

df_inner=df_inner.set_index('date') 

5.提取4日之前的所有数据

df_inner[:'2013-01-04']

6.使用iloc按位置区域提取数据

df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。

7.适应iloc按位置单独提起数据

df_inner.iloc[[0,2,5],[4,5]] #提取第0、2、5行,4、5列

8.使用ix按索引标签和位置混合提取数据

df_inner.ix[:'2013-01-03',:4] #2013-01-03号之前,前四列数据

9.判断city列的值是否为北京

df_inner['city'].isin(['shanghai'])

10.判断city列里是否包含beijing和shanghai,然后将符合条件的数据提取出来

df_inner.loc[df_inner['city'].isin(['beijing','shanghai'])] 

11.提取前三个字符,并生成数据表

pd.DataFrame(df_inner['category'].str[:3])

六、数据筛选

使用与、或、非三个条件配合大于、小于、等于对数据进行筛选,并进行计数和求和。

df_inner['price']=df_inner['price'].fillna(df_inner['price'].mean())

df_inner['city']=df_inner['city'].str.lower()
df_inner['city']=df_inner['city'].map(str.strip)
df_inner['city']=df_inner['city'].replace('sh', 'shanghai')

df_inner['group'] = np.where(df_inner['price'] > 3000,'high','low')

df_inner.reset_index()
df_inner=df_inner.set_index('date')

1.使用“与”进行筛选

df_inner.loc[(df_inner['age'] > 25) & (df_inner['city'] == 'shanghai'), ['id','city','age','category','gender']]

2.使用“或”进行筛选

df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'shanghai'), ['id','city','age','category','gender']] 

3.使用“非”条件进行筛选

df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].sort(['id']) 

4.对筛选后的数据按city列进行计数

df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].sort(['id']).city.count()

5.使用query函数进行筛选

df_inner.query('city == ["beijing", "shanghai"]')

6.对筛选后的结果按prince进行求和

df_inner.query('city == ["beijing", "shanghai"]').price.sum()

七、数据汇总

主要函数是groupby和pivote_table

1.对所有的列进行计数汇总

df_inner.groupby('city').count()

2.按城市对id字段进行计数

df_inner.groupby('city')['id'].count()

3.对两个字段进行汇总计数

df_inner.groupby(['city','age'])['id'].count()

7.16-20

4.对city字段进行汇总,并分别计算prince的合计和均值

df_inner.groupby('city')['price'].agg([len,np.sum, np.mean]) 

八、数据统计

数据采样,计算标准差,协方差和相关系数

1.简单的数据采样

df_inner.sample(n=3) 

2.手动设置采样权重

weights = [0, 0, 0, 0, 0.5, 0.5]
df_inner.sample(n=2, weights=weights) 

 3.采样后不放回

df_inner.sample(n=6, replace=False) 

4.采样后放回

df_inner.sample(n=6, replace=True)

5.数据表描述性统计

df_inner.describe().round(2).T #round函数设置显示小数位,T表示转置

6.计算列的标准差

df_inner['price'].std()

7.计算两个字段间的协方差

df_inner['price'].cov(df_inner['m-point']) 

8.数据表中所有字段间的协方差

df_inner.cov()

9..两个字段的相关性分析

df_inner['price'].corr(df_inner['m-point']) #相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关

10.数据表的相关性分析

df_inner.corr()

九、数据输出

分析后的数据可以输出为xlsx格式和csv格式

1.写入Excel

df_inner.to_excel('excel_filename.xlsx', sheet_name='pandas_ok') 

2.写入到CSV

df_inner.to_csv('csv_filename.csv') 

————————————————
参考链接:https://blog.csdn.net/yiyele/article/details/80605909

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/668773.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

elasticsearch8.5.2 报错(SearchPhaseExecutionException: all shards failed)

一、问题 logstash突然无法对elasticsearch服务进行读写操作了,提示elasticsearch的地址有问题,检测elasticsearch发现端口存在。查看日志发现有报错。 二、问题原因 有一些索引的数据损坏了 三、解决 官网文档:https://www.elastic.co/…

记录HBuilderX将uniapp项目运行到华为手机

解压并运行刚从官网下载的HBuilder X,新建一个项目 一、电脑下载【华为手机助手】并安装 下载地址: https://consumer.huawei.com/cn/support/hisuite/ 二、华为手机设置 1、手机准备:华为(没有插入手机卡)&#x…

《网络安全》0-100 零基础

网络安全基础 什么是网络安全 网络安全是指保护计算机网络不受未经授权的攻击、损伤、窃取或破坏的一系列措施。它包括保护计算机系统、网络和数据的完整性、可用性和保密性,以及防止未经授权的访问、使用、披露、破坏、修改、记录或丢失数据。 网络安全是保护信息…

探秘华为交换机:端口类型全解析

在下列情况下,判断的一般方法是什么? 1.交换机某个端口下的用户丢包。 2.交换机下的所有用户都在丢失数据包。 3、用户反映网速缓慢 检查网络电缆,重做水晶头,检查用户的计算机网卡,并重新启动交换机。 这几种做法都能…

在 PyTorch 中实现可解释的神经网络模型

动动发财的小手,点个赞吧! 目的 深度学习系统缺乏可解释性对建立人类信任构成了重大挑战。这些模型的复杂性使人类几乎不可能理解其决策背后的根本原因。 ❝ 深度学习系统缺乏可解释性阻碍了人类的信任。 ❞ 为了解决这个问题,研究人员一直在…

chatgpt赋能python:Python中算法的几种描述方法

Python中算法的几种描述方法 在Python中,我们可以采用不同的方法来描述和实现不同的算法。本文将介绍三种常见的描述算法的方法,希望能够帮助读者更好地理解算法和Python编程。 方法一:自然语言描述 自然语言是我们最熟悉的方式来描述算法…

三层交换器与可配置的二层交换机通信配置(华为交换机)

#三层交换器与可配置的二层交换机通信配置 三层交换机配置 #进入系统视图 <Huawei>system-view #关闭系统提示信息 [Huawei]undo info-center enable #启动DHCP功能 [Huawei]dhcp enable #创建vlan 10 并配置 vlanif 地址 作为二层交换机默认网关 [Huawei]vlan 10 …

nodejs高版本降为低版本的详细解决方案

部分老旧项目需要使用低版本的node,网上很多是无效的,高版本无法直接安装低版本node,但是低版本nodejs可以安装部分高版本node,从而达到升级效果,下面这篇文章主要给大家介绍了关于nodejs高版本降为低版本的详细解决方案,需要的朋友可以参考下 1.首先通过控制面板应用卸载当前环…

如何使用 Swagger2 自动生成 RESTful API 文档

如何使用 Swagger2 自动生成 RESTful API 文档 在开发 RESTful API 的过程中&#xff0c;文档是非常重要的一部分。它可以帮助开发者了解 API 的功能和使用方法&#xff0c;同时也是接口设计和测试的重要依据。而手动编写 API 文档往往比较耗时且容易出错&#xff0c;这时候 S…

【kubernetes】部署controller-manager与kube-scheduler

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…

NodeJS 配置HTTPS协议证书⑩⑤

文章目录 ✨文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持&#x1f618;前言HTTPS ❓配置证书工具 CertbotCertbot 使用步骤总结 ✨文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持&…

chatgpt赋能python:Python描述符详解

Python 描述符详解 Python 中的描述符是一种机制&#xff0c;用于控制属性&#xff08;attribute&#xff09;的访问。通过描述符&#xff0c;我们可以在属性被访问或者修改时加入特定的逻辑。 描述符是一个类&#xff0c;其中至少定义了以下三个方法&#xff1a; __get__(s…

docker入门手册

目录 1. docker基础 1. 1 docker介绍 1.2 docker架构与核心组件 1.3 docker安装和卸载 安装 卸载 docker加速器设置 -> 可选 1.4 权限问题 1.5 docker服务相关操作命令 2. docker镜像管理 2.1 镜像的搜索/获取/查看 镜像搜索 2.2 镜像别名/删除 2.3 镜像的导入…

Apache Atlas产品调研

元数据产品调研 &#x1f4a1; 思考可以构成一座桥&#xff0c;让我们通向新知识。—— 普朗克 一、什么是元数据 元数据是关于数据的数据&#xff0c;是为了描述数据的相关信息而存在的数据。 元数据是用数据管理数据&#xff0c;是快速查找数据、精确定位数据、准确理解数据…

CSS3-三大特性-继承性、层叠性、优先级

CSS三大特性 1 继承性 2 层叠性 3 优先级 1 继承性 特性&#xff1a;子元素有默认继承父元素样式的特点&#xff08;子承父业&#xff09; 可以继承的常见属性&#xff1a; 1 color 2 font-style、font-weight、font-size、font-family 3 text-indent、text-align 4 line-heigh…

io.netty学习(七)字节缓冲区 ByteBuf(下)

目录 前言 实现原理 ByteBuf 的使用案例 ByteBuf 的3种使用模式 堆缓冲模式 直接缓冲区模式 复合缓冲区模式 总结 前言 在了解了 ByteBuffer 的原理之后&#xff0c;再来理解Netty 的 ByteBuf 就比较简单了。 ByteBuf 是 Netty 框架封装的数据缓冲区&#xff0c;区别…

第5章 函数式编程

第5章 函数式编程 5.1 函数式编程思想 在之前的学习中&#xff0c;我们一直学习的就是面向对象编程&#xff0c;所以解决问题都是按照面向对象的方式来处理的。比如用户登陆&#xff0c;但是接下来&#xff0c;我们会学习函数式编程&#xff0c;采用函数式编程的思路来解决问…

【Python 随练】阶乘累加计算

题目&#xff1a; 求 12!3!…20!的和。 简介&#xff1a; 在本篇博客中&#xff0c;我们将解决一个数学问题&#xff1a;计算阶乘序列的和。我们将介绍阶乘的概念&#xff0c;并提供一个完整的代码示例来计算给定范围内阶乘数的和。 问题分析&#xff1a; 我们需要计算从1…

基于“遥感+”融合技术在碳储量、碳收支、碳循环等多领域监测与模拟

卫星遥感具有客观、连续、稳定、大范围、重复观测的优点&#xff0c;已成为监测全球碳盘查不可或缺的技术手段&#xff0c;卫星遥感也正在成为新一代 、国际认可的全球碳核查方法。本内容目的就是梳理碳中和与碳达峰对卫星遥感的现实需求&#xff0c;系统总结遥感技术在生态系统…

开源开放 | 开源知识图谱抽取工具发布大模型版DeepKE-LLM

DeepKE-LLM链接&#xff1a; https://github.com/zjunlp/DeepKE/tree/main/example/llm OpenKG地址&#xff1a; http://openkg.cn/tool/deepke Gitee地址&#xff1a; https://gitee.com/openkg/deepke/tree/main/example/llm 开放许可协议&#xff1a;Apache-2.0 license 贡献…