数据处理python

1.列筛选

(1)某一列&某几列

对于一个表单里面的数据,如果我们想要对于这个表单里面的数据进行处理,我们可以一列一列进行处理,也可以多列一起进行处理;


一列一列处理:

只需要在这个dataframe变量的后面添加上这个中括号和对应想要处理的索引;

下面的data就是这个里面的dataframe变量,中括号里面的就是对应的列索引,相当于是我们只会打印这个表单里面的第三列的数据;

data = pd.read_csv("/Users/yequ/电商数据清洗.csv")

# 使用print()输出变量data中的 "payment" 列

print(data["payment"])

# TODO 使用print()输出变量data中的 "price" 列

print(data["price"])

# 使用print()输出变量data中的 "cutdown_price" 列

print(data["cutdown_price"])

我们如果想要对于上面的这几列的数据进行运算的话,也是可以一列一列的进行运算的;

例如我们下面进行的运算就是每一列的数据都要除以100;

# 将变量data中的 "payment" 列修改为以元为单位的数据

data["payment"] = data["payment"]/100

# TODO 将变量data中 的 "price" 列修改为以元为单位的数据

data["price"] = data["price"]/100

# 将变量data中的 "cutdown_price" 列修改为以元为单位的数据

data["cutdown_price"] = data["cutdown_price"]/100

# 使用print()输出变量data

print(data)

同样是上面的这个数据表单,我们还可以


多列一起进行处理

这个pandas里面可以使用两个中括号里面套着这些数据,就可以实现多列进行相同处理的效果;

这个里面是一共使用了两个中括号的,第一个中括号就是表示的对于这个data的索引值,第二个表示的就是这个中括号里面的内容就是一个简单的列表,对于这个列表里面的数据进行操作;

# TODO 将变量data中的"payment", "price", "cutdown_price" 这三列修改为以元为单位的数据
data[["payment", "price", "cutdown_price"]] 
= data[["payment", "price", "cutdown_price"]]/100

# 使用print()输出变量data
print(data)

2.按照index访问数据

一行多列,单个多个数据


使用下面的这个表达作为例子,这个时候我们就可以使用.loc加上对应的行索引找到这一行的元素

print(data.loc[3515712])

 上面这个代码就会打印输出这个对应的这一行的信息;,包括这个user_id还有这个后面的各种费用都会打印出来;


访问连续的几行:

因为想要打印的这几行数据是连续的,这个时候就可以使用这个冒号运算符,只需要我们输入这个起始位置和终止位置即可;

# 使用print()和.loc属性输出订单号3515712到3515716的数据

print(data.loc[3515712:3515716])

打印不连续的几行:

使用这个两个中括号,把这几行不连续的索引值全部放进去即可;

print(data.loc[[3515714,3601839,3601842]])

访问单个元素:

只需要给出来这个行标和列标,就可以准确的定位到这个数据,并且打印出来;

print(data.loc[3515712,"payment"])

下面介绍的就是iloc属性,这个属性传递进去的参数就是对应的行标,以此来访问这个行数据 

iloc属性:按照这个位置访问对应位置上面的数值;

这个访问的权限和上面介绍的都是一样的,但是这个括号里面的内容就不是向上面一样的这个具体的内容,因为我们使用loc属性的时候,传递进去的参数就是这个price这些使用的是表格里面的数据,这个.iloc属性使用的参数就是对应的下标,不需要我们传递具体的数值;

3.布尔索引

(1)这个数据筛选的方式主要是针对于这个大型数据集,我们可以通过这个方式判断这个数据是不是符合条件的;

(2)我们可以使用两个方括号,里面的中括号返回值就是一个series序列,外面的这个中括号使用里面的这个返回的series作为索引就可以得到新的符合条件的系列;

# TODO 使用print()和布尔索引,输出"cutdown_price"这一列值里大于0的行

print(data[data["cutdown_price"]>0])

(3)如果我们想要一次性对于多个条件进行判断是否符合,这个时候就需要使用逻辑运算符,这个里面代表的意义和上面的一样,需要注意的就是这个括号之间的嵌套;

# TODO 使用print()和布尔索引
# 输出"cutdown_price"这一列值里大于0
# 和"post_fee"这一列值里大于0的行数据

print(data[(data["cutdown_price"]>0)&(data["post_fee"]>0)])

4.时间类型和格式转换

(1)字符串类型转换为时间类型并且进行这个筛选:

# TODO 将data中"购药时间"这一列数据从字符串类型转换为日期类型

data["购药时间"]=pd.to_datetime(data["购药时间"])

# TODO 使用布尔索引,筛选出"购药时间"列中月份等于2的数据,并赋值给data_2018_2

data_2018_2=data[data["购药时间"].dt.month==2]

# 使用print()函数输出data_2018_2

print(data_2018_2)

使用的是pd模块去调用这个to_datatime函数,这个函数的参数就是想要进行修改的列,生成的就是事件类型的数据,把这个字符串类型数据转换为时间类型;

筛选就是选出来这个事件类型里面的月份是二月份的,我们依然是使用这个.dt.month属性进行这个判断,把这个符合条件的赋值给一个新的变量,把这个变量打印输出;

(2)格式转换函数

# TODO 使用astype()函数,将data["身份证号"]转换为str类型

data["身份证号"]=data["身份证号"].astype(str)

 上面这个代码部分就是把这个身份证号这一列转换为str类型的数据,调用的就是astype函数;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

台式机通过网线直连笔记本,台式机通过笔记本上网【解决台式机没有网络的问题】

一、总览 将笔记本电脑和台式机使用网线连接起来。在笔记本电脑上打开网络和共享中心,进入“更改适配器设置”选项,找到当前连接的网卡,右键点击选择“属性”。在网卡属性中,找到“共享”选项卡,勾选“允许其他网络用…

帮助你简易起步一个BLOG(博客搭建)项目

Blog项目 后端项目结构1. 项目初始化2. 详细步骤3.postman测试 前端1. 项目初始化2. 详细步骤 本章节是为了帮助你起步一个完整的前后端分离项目。 前端技术栈: react、vite、mantine、tailwind CSS、zustand、rxjs、threejs 后端技术栈:nodemon、nodej…

平面点云格网过程及可视化介绍(python)

1、背景介绍 实际人工构造物中,很多物体表面为平面结构,因此将点云投影在二维平面上进行处理,如进行点云面积计算、点云边缘提取等。 具体案例可以参考博客:详解基于格网法统计平面点云面积_点云格网法计算xy投影面积-CSDN博客、点…

AI 开发平台(Coze)搭建《AI女友(多功能版本)》

前言 本文讲解如何从零开始,使用扣子平台去搭建《AI女友(多功能版本)》 bot直达:AI女友(多功能版) - 扣子 AI Bot (coze.cn) 欢迎大家前去体验!!! 正文 功能介绍 …

C#串口通信Seriaport和页面传值

串口通信 串口COM:是一种用于连接计算机和外设设备的接口,也叫串行接口,简称com,常见的串口有一半电脑应用的RS-232(使用25针或9针的 连接器)通俗来讲串口就是usb接口、鼠标串口。键盘串口 串口通讯:是指外…

Spring Clude 是什么?

目录 认识微服务 单体架构 集群和分布式架构 集群和分布式 集群和分布式区别和联系 微服务架构 分布式架构&微服务架构 微服务的优势和带来的挑战 微服务解决方案- Spring Cloud 什么是 Spring Cloud Spring Cloud 版本 Spring Cloud 和 SpringBoot 的关系 Sp…

VScode远程连接时卡住

将报错文件删除 ### 查找文件(base) ~ find /home -name 5c3e652f63e798a5ac2f31ffd0d863669328dc4c /home/cszx/.vscode-server/data/clp/99e4e0e4dad86d47de9777231596fd92.zh-cn/5c3e652f63e798a5ac2f31ffd0d863669328dc4c ### 删除(base) ~ rm -rf /home/cszx/.vscode-ser…

centOS7网络配置_NAT模式设置

第一步:查看电脑网卡 nat模式对应本地网卡的VMnet 8 ,查看对应的IP地址。 第二步:虚拟网络编辑器 打开VMWare,编辑--虚拟网络编辑器,整个都默认设置好了,只需要查看对应的DHCP设置中对应的IP的起始&#…

MySQL数据类型、运算符以及常用函数

MySQL数据类型 MySQL数据类型定义了数据的大小范围,因此使用时选择合适的类型,不仅会降低表占用的磁盘空间, 间接减少了磁盘I/O的次数,提高了表的访问效率,而且索引的效率也和数据的类型息息相关。 数值类型 浮点类型…

01.Ambari自定义服务开发-项目初始化

文章目录 基础环境在PyCharm中初始化项目配置项目相关依赖在PyCharm中导入依赖 基础环境 PyCharmPython 2.7已经安装完成的Ambari服务端 在PyCharm中初始化项目 项目名称就是我们要安装服务的名称,要求名称为全大写,如:DORIS创建Python2.7…

AUTOSAR以太网之IPv4

系列文章目录 返回总目录 文章目录 系列文章目录一、IPv4报文格式二、主要函数1.IPv4_Init()2.IPv4_Receive()3.IPv4_Transmit() 一、IPv4报文格式 二、主要函数 1.IPv4_Init() 这个函数除了对模块配置进行初始化,如果有分包和组包使能,则会对一些相关…

【高级篇】分区与分片:MySQL的高级数据管理技术(十三)

引言 在上一章,我们探讨了MySQL的主从复制与高可用性,这是构建健壮数据库架构的基石。现在,让我们深入到更高级的主题——分区与分片,这些技术对于处理大规模数据集和提升数据库性能至关重要。我们将详细介绍表分区的概念、类型及分片技术的应用,为下一章讨论MySQL集群与…

2.5 MAC扫描器

MAC扫描器是一款专门用来获取网卡物理地址的网络管理软件,相对于Windows系统的getmac命令,MAC扫描器功能更加强大,它不仅可以获取局域网计算机的MAC地址,还可以获取 Internet 中网卡的MAC地址。MAC扫描器通常被用来管理本地网络中…

22 Shell编程之免交互

目录 22.1 Here Document免交互 22.1.1 Here Document概述 22.1.2 Here Document免交互 22.1.3 Here Document变量设定 22.1.4 Here Document格式控制 22.1.5 Here Document多行注释 22.2 expect免交互 22.2.1 expect概述 22.2.2 expect安装 22.2.3 基本命令介绍 22.2.4expec…

Python操作MySQL数据库--使用pymysql模块

Python操作MySQL数据库--使用pymysql模块 一、新建数据库和数据表1.1 新建book数据库1.2 新建bookprice数据表二、连接数据库2.1 建立数据库连接三、新增数据3.1 新增单条数据3.2 新增多条数据3.3 批量新增四、修改数据4.1 修改单条数据4.2 修改多条数据五、删除数据5.1 删除单…

Java基础(四)——字符串、StringBuffer、StringBuilder、StringJoiner

个人简介 👀个人主页: 前端杂货铺 ⚡开源项目: rich-vue3 (基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL) 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 &#x1…

配置 Cmder 到鼠标右键

win Q 快捷键搜索 cmd,以管理员身份运行 在命令行输入 cmder.exe /REGISTER ALL

浏览器插件利器-allWebPluginV2.0.0.14-beta版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX插件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持谷歌、火狐等浏…

推荐系统三十六式学习笔记:原理篇.模型融合14|一网打尽协同过滤、矩阵分解和线性模型

目录 从特征组合说起FM模型1.原理2.模型训练3.预测阶段4.一网打尽其他模型5.FFM 总结 在上一篇文章中,我们讲到了使用逻辑回归和梯度提升决策树组合的模型融合办法,用于CTR预估,给这个组合起了个名字,叫“辑度组合”。这对组合中&…

Arduino平台软硬件原理及使用——SR04超声波传感器的使用

文章目录: 一、超声波传感器工作原理 二、SR04超声波库的使用 三、SR04超声波传感器在Arduino中的使用 一、超声波传感器工作原理 如上图所示:HCSR04超声波传感器拥有4个针脚,除了VCC接正极、GND接负极外,还有两个引脚“Trig”及“…