数据处理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()输出变量dataprint(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_2data_2018_2=data[data["购药时间"].dt.month==2]# 使用print()函数输出data_2018_2print(data_2018_2)
使用的是pd模块去调用这个to_datatime函数,这个函数的参数就是想要进行修改的列,生成的就是事件类型的数据,把这个字符串类型数据转换为时间类型;
筛选就是选出来这个事件类型里面的月份是二月份的,我们依然是使用这个.dt.month属性进行这个判断,把这个符合条件的赋值给一个新的变量,把这个变量打印输出;
(2)格式转换函数

# TODO 使用astype()函数,将data["身份证号"]转换为str类型data["身份证号"]=data["身份证号"].astype(str)
上面这个代码部分就是把这个身份证号这一列转换为str类型的数据,调用的就是astype函数;
相关文章:
数据处理python
1.列筛选 (1)某一列&某几列 对于一个表单里面的数据,如果我们想要对于这个表单里面的数据进行处理,我们可以一列一列进行处理,也可以多列一起进行处理; 一列一列处理: 只需要在这个dataf…...
【MotionCap】SLAHMR 在 Colab 的demo运行笔记
【MotionCap】SLAHMR slahmr将人类和相机运动与野外视频分离 CVPR 2023跳至主要内容 SLAHMR (supports 4D Humans).ipynb SLAHMR (supports 4D Humans).ipynb_笔记本已移除星标Google Colab demo for: SLAHMR - Simultaneous Localization And Human Mesh Recovery @inproc…...
Qt-Advanced-Docking-System示例程序
写了一些简单的示例程序,帮助我更好地使用和了解Qt-Advanced-Docking-System 1.写一个如图页面布局的程序 m_pDockMangernew ads::CDockManager(this);this->setCentralWidget(m_pDockManger);ads::CDockWidget* centerDockWidgetnew ads::CDockWidget("中…...
戴尔笔记本重装系统?笔记本卡顿失灵?一键重装系统!
随着科技的快速发展,笔记本电脑已成为我们日常生活和工作中不可或缺的工具。然而,随着时间的推移,笔记本可能会遇到各种问题,如系统卡顿、失灵等。这时,重装系统往往是一个有效的解决方案。本文将详细介绍如何在戴尔笔…...
ViewController 的常用跳转及返回方法
ViewController 的常用跳转及返回方法 ViewController 的常用跳转及返回方法模态跳转导航控制器选项卡控制器Storyboard 的 segues 方式跳转 ViewController 的常用跳转及返回方法 模态跳转 一个普通的视图控制器一般只有模态跳转的功能,这个方法是所有视图控制器…...
FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流
《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有于2017年推出的SRT协议,相比常见的RTMP协议,SRT协议具有更低的延迟,并且消…...
探索AI的巅峰:详解GPT-3.5与GPT-4系列模型的区别
人工智能领域不断涌现出令人惊叹的技术突破,其中OpenAI的ChatGPT系列模型尤为引人注目。随着GPT-4的发布,技术开发者们对比分析其与前一代GPT-3.5的差异显得尤为重要。本文将深入探讨GPT-3.5和GPT-4系列模型的主要区别,帮助大家更好地理解和应…...
Linux-笔记 使用SCP命令传输文件报错 :IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
前言 使用scp命令向开发板传输文件发生报错,报错见下图; 解决 rm -rf /home/<用户名>/.ssh/known_hosts 此方法同样适用于使用ssh命令连接开发板报错的情况。 参考 https://blog.csdn.net/westsource/article/details/6636096...
计算机网络 静态路由及动态路由RIP
一、理论知识 1.静态路由 静态路由是由网络管理员手动配置在路由器上的固定路由路径。其优点是简单和对网络拓扑变化不敏感,缺点是维护复杂、易出错,且无法自动适应网络变化。 2.动态路由协议RIP RIP是一种基于距离向量的动态路由协议。它使用跳数作…...
Django实现部门管理功能
在这篇文章中,我们将介绍如何使用Django框架实现一个简单的部门管理功能。这个功能包括部门列表展示、添加新部门、编辑和删除部门等操作。 1. 项目设置 首先,确保你已经安装了Django并创建了一个新的Django项目。在项目中,我们需要创建一个名为app01的应用。 2.…...
概率论与数理统计期末复习
概率论常考知识点汇总 总括 1. 基础概率论 概率定义:理解概率是事件发生的可能性度量,范围从0(不可能)到1(必然发生)。概率公理:掌握概率的三大公理,即非负性、规范性和可加性。条…...
python 识别图片点击,设置坐标,离设置坐标越近的优先识别点击
import pyautogui import cv2 import numpy as np import mathdef find_and_click(template_path, target_x, target_y, match_threshold0.8):"""在屏幕上查找目标图片并点击。Args:template_path: 目标图片的路径。target_x: 预设的坐标 x 轴值。target_y: 预设…...
【实战教程】如何使用JMeter来轻松测试WebSocket接口?
1、websocket接口原理 打开网页:从http协议,升级到websocket协议,请求建立websocket连接服务器返回建立成功成功客户端向服务端发送匹配请求服务端选择一个客服上线服务器返回客服id客户端向服务器发送消息服务器推送消息给指定的客服服务器…...
【linux】详解——库
目录 概述 库 库函数 静态库 动态库 制作动静态库 使用动静态库 如何让系统默认找到第三方库 lib和lib64的区别 /和/usr/和/usr/local下lib和lib64的区别 环境变量 配置相关文件 个人主页:东洛的克莱斯韦克-CSDN博客 简介:C站最萌博主 相关…...
RuntimeError: “exp_vml_cpu“ not implemented for ‘Half‘
遇到 "exp_vml_cpu" not implemented for Half 这个运行时错误,意味着你尝试在一个操作中使用了半精度(Half 或 float16)数据类型,但是该操作在当前环境下并没有针对半精度数据类型的实现。 半精度(float16&…...
JVM之双亲委派机制
1.双亲委派机制 在Java中,类加载器具有层次结构。每个Java实现的类加载器中保存了一个成员变量叫“父”类加载器(parent),可以理解为上级,并不是继承关系。应用程序类加载器的parent父加载器是扩展类加载器࿰…...
Gemalto SafeNet Luna HSM服务器硬件监控指标解读
在现代化的信息安全体系中,硬件安全模块(HSM)扮演着至关重要的角色,它负责保护和管理敏感的数据和密钥。Gemalto SafeNet Luna HSM作为一款高性能的硬件安全模块,广泛应用于金融、政府和企业等领域。为了确保Luna HSM的…...
计算机视觉与人工智能领域常用期刊和会议缩写
在撰写论文时有时候会面临超篇幅的情况,这时候一个常用的操作便是使用期刊(会议)的缩写或者半缩写来替换期刊(会议)全称 为了方便自己后续使用相关的缩写 特此整理 如有不当之处 欢迎大家指正~~ 计算机视觉与人工智能…...
ONLYOFFICE桌面编辑器8.1版:个性化编辑和功能强化的全面升级
ONLYOFFICE是一款全面的办公套件,由Ascensio System SIA开发。该软件提供了一系列与微软Office系列产品相似的办公工具,包括处理文档(ONLYOFFICE Document Editor)、电子表格(ONLYOFFICE Spreadsheet Editor࿰…...
用一个实例看如何分享大量照片 续篇二,关于Exif (Exchangeable Image File) - 可交换图像文件
续篇二:说说关于照片隐含的 Exif (Exchangeable Image File) 可交换图像文件 数码照片的Exif 参数有很多,重要的Exif信息:拍摄日期、时间、拍摄器材、GPS信息。 当然这主要对自己的档案有意义,如果放到网上还是建议抹去这些信息。…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...
