数据分析(3)

数据分析(3)

索引和数据筛选

在我们导入数据将其存储在data变量中后,接下来就要开始对其进行操作了,要对指定的数据进行操作,首先要在一堆数据中确定它,因此需要索引

import pandas as pd
data = pd.read_csv("path")

列索引

方法:
访问一列数据

data["columns"]

访问多列数据:

data[["columns_1","colulmns_2]]

.loc属性

访问DataFrame对象中的.loc属性可以按照index访问行数据

内容比较简单,学会怎么调用即可,在此直接用代码说明

data.loc[index] #访问某一行
data.loc[起点index的值:结束index的值] #访问连续的某几行,左闭右闭
data.loc[[index1,index2,index3,...]] #访问不连续的某几行
data.loc[index,columns] #访问单个元素
data.loc[index(切片或列表),columns(切片或列表)] #访问多个元素

.iloc属性

访问DataFrame对象中的.iloc属性可以按照行位置访问行数据
基本与.loc相同,只需注意,1.loc是按照index访问,iloc是按照行位置访问
2.在访问连续的几行时,loc是左闭右闭iloc是左闭右开

.iloc[index] #访问某一行
.iloc[index0(起始),index1(结束)] #访问连续的某几行,左闭右开
.iloc[[index1,index2,index3...]] #访问不连续的某几行
.iloc[index,columns] #访问单个元素
data.iloc[index(切片或列表),columns(切片或列表)] #访问多个元素

布尔索引

1.有一个判断条件

条件表达式:
pandas通过条件表达式得到一个布尔型Series,再通过这个Series来索引数据
常见的比较运算符:==、>、<、>=、<=、!=
常见的逻辑运算符:&、|、~

data[data["cutdown_price]>0]
2.有两个判断条件

过程等同于先进行第一个判断,然后再此结果的基础上再进行第二个判断,依次类推

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

格式转换和时间类型

时间类型

datetime 具体时间点,比如2024/04/20 0:03
period 时间区间,比如2024年三月十八日一整天

timedelta 时间间隔,比如3days,2 months

字符串转时间

pd.to_datetime()函数,将参数中这一列的数据,转化成时间格式

df['creat_time'] = pd.to_datetime(df['creat_time'])

时间转字符串

.strftime()函数将某一列时间类型的数据,转换为字符串类型,并变成“年-月”的格式
dt.后缀 datetime类型的数据要先通过后缀.dt转化
格式化输出 %Y代表时间的年,%m代表时间的月,%d代表时间的日。时间以外的其他的内容可以任意编辑。

df['pay_time'] = df['pay_time'].dt.strftime('%Y-%m')

格式转换函数

astype()函数,里面的参数是需要转化成为的数据类型。可以实现字符串、整型、浮点型、布尔型数据的相互转换。

1.整型、浮点型数据,可以直接使用.astype(str)函数。将数据类型转化为字符串类型。

2.字符串数据,当数据是数字(整数、小数都可以)时,可以使用.astype(float)函数,否则将会报错(参数传(int)会报错)

3.字符串数据,仅当数据是整数数字时,才能使用.astype(int)函数,否则将会报错。

4.浮点型数据,可以直接使用.astype(int)函数,使用后数据将只保留整数部分。

5.整型数据,可以直接使用.astype(float)函数,使用后数据将用0补充为1位小数。

6.整型、浮点型数据,可以直接使用.astype(bool)函数。

7.如果数据是整型0、浮点型0.0,则会转化为布尔值False;如果数据是非0,则会转化为布尔值True。


统计函数

1.求均值:.mean()

2.处理输出数据:.round()函数取整
round(n)三种情况

(1).n>0,表示保留小数点后n位小数

(2).n=0,取整

(3).n为负,-1,-2…依次保留到十位数,百位数

3.多列统计data[[传入列表]].mean()

import pandas as pd
data = pd.read_csv(r"D:\Programme\Python_programme\数据分析\素材\电商数据清洗.csv")pay_mean = data['payment'].mean()
print(pay_mean.round())
print(pay_mean.round(2))print(data[["payment","price","cutdown_price"]].mean())#多列统计

「安静」要你真正进入你在做的事情,它让每个时刻都变得足够重要,让你不必通过别人来过自己的生活。 —艾林·卡格

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

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

相关文章

3D模型人物换装系统(五 模型核批之后模型uv不正确)模型UV不正确

3D模型人物换装系统&#xff08;五 模型核批之后模型uv不正确&#xff09;模型UV不正确 介绍展示Maya导入查看uvUnity中测试分析没合批为什么没有问题总结 介绍 最近在公司里给公司做模型优化合批的时候发现了模型的uv在合批之后无法正常展示&#xff0c;这里找了很多的原因&a…

算法 第44天 动态规划6

518 零钱对换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 …

牛客网:环形链表的约瑟夫问题

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;每日一练 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f3dd;1.问题描述&#xff1a; 前言&#xff1a; 约瑟夫问题 有很多种解决办法&#xff0c;下面我们用链表进行解题 题目链…

【H4012】3.3V5V12V24V30V,3.5A大电流温度低 高效同步降压芯片IC DC-DC

您提到的“3.3V, 5V, 12V, 24V, 30V, 3.5A 高效同步降压芯片IC DC-DC”是指一种能够将较高电压&#xff08;例如24V或30V&#xff09;降至较低电压&#xff08;例如3.3V, 5V或12V&#xff09;的直流-直流&#xff08;DC-DC&#xff09;转换器。这种转换器通常使用同步降压技术&…

Springboot项目中,异步编程底层实现原理详解(二)

本系列文章简介&#xff1a; 在现代的开发中&#xff0c;异步编程已经成为了必备的技能。随着计算机性能的提升和多核处理器的普及&#xff0c;异步编程可以充分利用系统资源&#xff0c;提高程序的性能和响应速度。在Spring Boot项目中&#xff0c;异步编程也得到了广泛的应用…

短视频流媒体平台的系统设计

1. 功能需求: 我们的系统有两类参与者 内容创作者 •上传任何类型的视频&#xff08;格式编解码器&#xff09;•视频可以被删除•视频元数据•必填项: 标题&#xff0c;作者&#xff0c;描述•选填项: 分类/标签列表•可以随时更新•当视频对观众可用时&#xff0c;向内容创作…

力扣110. 平衡二叉树

思路&#xff1a;与二叉树最大高度类似&#xff0c;但是这里需要返回 -1 的高度来标识不是平衡二叉树&#xff0c;判断左右子树的高度相差大于1则不平衡&#xff0c;否则就是平衡。 class Solution {public boolean isBalanced(TreeNode root) {int ans func(root);if(ans >…

【人工智能基础】状态空间搜索

状态空间法 状态空间&#xff1a;一个问题全部可能的状态以及其关系的集合。 状态空间图&#xff1a;以图的形式表示问题的状态空间&#xff0c;节点对应状态&#xff0c;边对应状态转移算子&#xff0c;边上的权对应转移所需的代价 问题的解&#xff1a;是从最开始状态到目…

python项目练习——28.自动抢火车票脚本

确定抢购信息: 出发站:例如,"北京"到达站:例如,"上海"出发日期:例如,"2024-05-01"确定登录12306账号信息: 用户名密码环境准备: 安装Python编程环境安装相关第三方库:requests、selenium等网页自动化登录: 使用Selenium模拟浏览器操作…

聊聊路径规划算法(二)——图搜索法

图搜索法通过利用已有的环境地图和版图中的障碍物等数据信息建立&#xff0c;由起点至结束点的可行路线。一般分为深度最优和广度最优二种走向。深度优先算法优先拓展搜索深度较大的节点&#xff0c;因此能够更迅速的获得下一个可行路径&#xff0c;不过深度优先算法获取的第一…

Adobe Firefly是否将重新定义AI视频编辑领域?|TodayAI

Adobe最近发布了一段令人瞩目的视频&#xff0c;详细展示了其最新推出的Adobe Firefly视频模型。这一模型集成了尖端的生成式人工智能技术&#xff0c;带来了一系列颠覆性的视频编辑功能&#xff0c;引发了业界的广泛关注和讨论。 视频中的旁白充满热情地宣布&#xff1a;“Ad…

Rabbit加密算法:性能与安全的完美结合

title: Rabbit加密算法&#xff1a;性能与安全的完美结合 date: 2024/4/19 19:51:30 updated: 2024/4/19 19:51:30 tags: Rabbit加密对称加密流密码密钥调度安全分析实际应用加密算法 第一章&#xff1a;引言 1. 加密算法的基本概念和应用 加密算法是一种通过对数据进行转换…

【C++】4.类和对象(下)

一、再谈构造函数 1.1、初始化列表 初始化列表&#xff1a;以一个冒号开始&#xff0c;接着是一个以逗号分隔的数据成员列表&#xff0c;每个"成员变量"后面跟一个放在括号中的初始值或表达式。 class Date { public:Date(int year, int month, int day): _year(yea…

Llama3本地部署实现模型对话

1. 从github下载目录文件 https://github.com/meta-llama/llama3 使用git下载或者直接从github项目地址下载压缩包文件 git clone https://github.com/meta-llama/llama3.git2.申请模型下载链接 到Meta Llama website填写表格申请,国家貌似得填写外国,组织随便填写即可 3.…

爬虫 Selector 选择器查找元素

// <!--jsoup解析工具所需依赖--> // <dependency> // <groupId>org.jsoup</groupId> // <artifactId>jsoup</artifactId> // <version>1.10.3</version> // </depende…

Linux - sed (stream editor)

替换 my.yaml 的 ‘t’ 为 ‘AAA’ sed s/t/AAA/g my.yaml sed -n /^[as]/p my.yaml 这个命令的 -n 选项表示不自动打印每一行&#xff0c;/^[as]/p 是一个 sed 命令&#xff0c;/^[as]/ 是你想要匹配的正则表达式&#xff08;所有以 a | s 开头的行&#x…

【漏洞复现】锐捷 EG易网关 phpinfo.view.php 信息泄露漏洞

0x01 产品简介 锐捷EG易网关是一款综合网关产品&#xff0c;集成了先进的软硬件体系构架&#xff0c;并配备了DPI深入分析引擎、行为分析/管理引擎。这款产品能在保证网络出口高效转发的基础上&#xff0c;提供专业的流控功能、出色的URL过滤以及本地化的日志存储/审计服务。 …

蚂蚁云科技集团正式发布以正教育大模型,专注因材施教

4月12日,蚂蚁云科技集团成功举办“智以育人、慧正无界——以正教育大模型产品发布会”,该产品致力于智慧教育变革,让因材施教成为可能。 上海科学技术交流中心科技企业服务处处长陈霖博士、中国信通院华东分院院长廖运发、上海市科协常委马慧民博士等出席并致辞;南威软件集团执…

框架中的单例模式

上一节我们介绍了单例模式模板 本节来讨论下&#xff0c;在框架代码中&#xff0c;怎样设计单例模式 考虑这种场景&#xff1a; 框架的开发者写了一个类 Config用来管理整个程序运行周期中的配置文件&#xff0c;整个程序中应该只有一个配置文件类&#xff0c;所以站在框架开发…

SQL注入简单总结

一、SQL注入是什么 SQL注入即&#xff1a;是指web应用程序对用户输入数据的合法性没有判断或过滤不严&#xff0c;攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句&#xff0c;在管理员不知情的情况下实现非法操作&#xff0c;以此来实现欺骗数据库服…