python笔记16_实例练习_二手车折旧分析p1

news2024/11/20 13:21:51

python数据分析练习,具体数据不放出。

分析实践很简单。目的不是做完,而是讲清楚每一步的目的和连带的知识点(所以才叫学习笔记)

0.数据准备

原始数据格式:csv文件

原始数据结构:

数据格式

字段名

int(无用信息)
Stringche300_brand_name
floatnew_price
Stringmaker_type
floatlowest_price
Stringcar_level_name
intage_month
Stringbrand 
floatage
Stringmaker
intcluster

1.导包

import warnings
warnings.filterwarnings('ignore')
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

"warnings" 是警告过滤器,没有实际作用。

"seaborn" 是一个基于 Matplotlib 的图形可视化库,可以用于绘制统计图表,如密度图、散点图、线性回归图等。

2.读取&初步处理

读数据:

data = pd.read_csv('二手车折旧分析.csv',encoding='gb2312')

利用 pandas 读csv文件,第二个参数是设置编码,默认编码会使用 'utf-8' ,但这里的数据中有中文,需要使用支持简体中文的编码,如下图所示,可选择 'gb2312' 'gbk' 'gb18030'

  查看更多详细编码:codecs — Codec registry and base classes — Python 3.11.3 documentation

查看数据:

data.head(5) # 查看前五行
data.describe() # 查看数据描述

这里的 describe() 函数会自动出每一列是数值的数据的计数、均值、标准差、四分位数、二分位数、最值。相当于一次性使用了8次聚合函数,非常便于初步总览数据。

初步处理:

模拟真实数据中有不需要的列/行,可以进行删除

如本例中的第一列,没有列名,那么再上一步查看数据的时候列名会显示为 'Unnamed: 0'

data = data.drop('Unnamed: 0',axis = 1)

drop 函数第一个参数是列名,第二个参数 axis = 0 :删除行 ; axis = 1 :删除列。

3.数据清洗——残值率计算:

假设现在我们需要关注一个值——残值率的准确性。

如果你恰巧学过会计学,对这个词应该不陌生。

在会计记账过程中,资产的价值是每年会降低的,这很好理解,因为任何有形资产(如机器设备、车辆)都有使用年限,它们会随着时间磨损、消耗,最终报废,也就是资产归零。而每年在计算它们的价值时,应当根据剩余使用年限计算一个当前剩余的价值。

比如一辆价值10万元的车,如果理论上使用10年就会报废,那么它在使用2年后的资产价值就是10-10/10*2=8万元,这里面损失的2万元就是折旧,剩余的8万元就是残值,也就是此处的lowest_price 字段。

资产原值(new_price)/资产残值(lowest_price)= 残值率

正常情况下,残值率肯定低于1。

那么残值率高于1的数据就是错误数据,需要处理:

data['残值率'] = data['lowest_price']/data['new_price']

给 DataFrame 添加一列,计算残值率,命名为“残值率”;

question_data = data[data['残值率'] > 1]
question_data.head(5) # 查看异常数据
question_data.count() # 异常数据总数

筛选残值率高于1的数据进行探查;

data = data[data['残值率'] < 1]

去除异常数据,进行数据清洗。

(未完待续)

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

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

相关文章

使用Python处理PDF文件的简介与实践

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

ol中不同区域加载不同底图

概述 写一篇水文&#xff0c;讲讲如果在openlayers中实现不同的区域加载不同的底图。 效果 实现 通过tileUrlFunction实现不同切片地址的请求。 <!DOCTYPE html> <html><head><title>XYZ</title><link rel"stylesheet" href&qu…

从源码学习Transformer

Transformer总体结构 近几年NLP领域有了突飞猛进的发展&#xff0c;预训练模型功不可没。当前利用预训练模型&#xff08;pretrain models&#xff09;在下游任务中进行fine-tune&#xff0c;已经成为了大部分NLP任务的固定范式。Transformer摒弃了RNN的序列结构&#xff0c;完…

chatgpt赋能python:Python中捕获异常

Python中捕获异常 什么是异常&#xff1f; 在Python编程中&#xff0c;异常&#xff08;Exceptions&#xff09;是程序执行时发生的错误或意外情况。这些异常可能导致程序崩溃或不能正常运行。为了避免这种情况的发生&#xff0c;我们需要捕获异常并在程序执行时进行相应的错…

SAP-MM-发票校验基本功能详解

一、MIRO抬头数据 1、基本数据 发票日期&#xff1a;一般是指凭证日期&#xff0c;对应FI中的凭证日期&#xff1b; 过账日期&#xff1a;发票和FI凭证的过账日期&#xff1b;这两个日期都可以作为付款条件的计算日期&#xff1b; 金额、税额&#xff1a;这个是指实际发票的…

【探索】机器指令翻译成 JavaScript

前言 前些时候研究脚本混淆时&#xff0c;打算先学一些「程序流程」相关的概念。为了不因太枯燥而放弃&#xff0c;决定想一个有趣的案例&#xff0c;可以边探索边学。 于是想了一个话题&#xff1a;尝试将机器指令 1:1 翻译 成 JavaScript&#xff0c;这样就能在浏览器中&am…

chatgpt赋能python:Python中按下某个按键的实现方法

Python中按下某个按键的实现方法 Python是一种广泛应用于各种领域的高级编程语言&#xff0c;可以用于编写各种类型的应用程序和工具。其中&#xff0c;它在游戏开发方面有着广泛的应用。而在游戏开发过程中&#xff0c;按键响应是至关重要的一个组成部分。本文将带领读者了解…

【测试基础01】

本期参考文献: 链接 一、安装mysql 1、安装mysql可以参考链接: 文章 2、安装mysql与python的工具 进行校验&#xff0c;查看是否安装成功 二、创建库 mycursor mydb.cursor() mycursor.execute("CREATE DATABASE ck") 执行语句创建库在mysql库里可以看到…

String字符串

文章目录 String类String常用的字符串处理方法StringBuffer类 StringBufferStringBuffer类中常用的方法StringBuilder类&#xff08;了解为主&#xff09;StringTokenzier类&#xff08;了解为主&#xff09; final属性&#xff0c;不可扩展&#xff0c;不可子类&#xff0c;不…

C++ list类成员函数介绍

目录 &#x1f914;list模板介绍&#xff1a; &#x1f914;特点&#xff1a; &#x1f914;list内存结构图解&#xff1a; &#x1f914; list的成员函数&#xff1a; &#x1f60a;list构造函数&#xff1a; &#x1f50d;代码示例&#xff1a; &#x1f50d;运行结果&…

python图像处理实战(二)—二值化图像与线性变换

&#x1f680;写在前面&#x1f680; &#x1f58a;个人主页&#xff1a;https://blog.csdn.net/m0_52051577?typeblog &#x1f381;欢迎各位大佬支持点赞收藏&#xff0c;三连必回&#xff01;&#xff01; &#x1f508;本人新开系列专栏—python图像处理 ❀愿每一个骤雨初…

什么是时间复杂度?

时间复杂度定义&#xff1a;在计算机科学中&#xff0c;时间复杂性&#xff0c;又称时间复杂度&#xff0c;算法的时间复杂度是一个函数&#xff0c;它定性描述该算法的运行时间。这是一个代表算法输入值的的长度的函数。时间复杂度常用大O符号表述&#xff0c;不包括这个函数的…

Python篇——数据结构与算法(第四部分:希尔排序及其讨论、计数排序、桶排序、基数排序)

1、希尔排序 希尔排序&#xff08;shell sort&#xff09;是一种分组插入排序算法首先取一个整数d1n/2&#xff0c;将元素分为d1个组&#xff0c;每组相邻两元素之间距离为d1&#xff0c;在各组内进行直接插入排序取第二个整数d2d1/2&#xff0c;重复上述分组排序过程&#xf…

SpringCloud Alibaba Seata 工作机制

SpringCloud Alibaba Seata Seata 工作机制 说明 之所以放在后面说工作机制是因为如果一开始就说的话理解困难 所以我们有了前面的列子和说明我们在结合本节内容会收获的多理解相对容易点 分布式事务过程分析 Seata 分布式事务处理过程-ID三组件模型 debug 梳理: 术语 先…

C++ deque类成员函数介绍

目录 &#x1f914;deque模板介绍&#xff1a; &#x1f914;deque特点&#xff1a; &#x1f914;deque内存结构图解&#xff1a; &#x1f914;deque各操作地址指向&#xff1a; &#x1f914; deque的成员函数&#xff1a; deque构造函数&#xff1a; &#x1f50d;代…

C++ 常见集合算法

目录 &#x1f914;常见集合算法&#xff1a; &#x1f642;1.set_intersection 容器交集 代码示例&#xff1a; 运行结果&#xff1a; &#x1f642;2.set_union 容器并集 图解&#xff1a; 代码示例&#xff1a; 运行结果&#xff1a; &#x1f642; 3.set_differe…

高速缓存(cache)的原理: 了解计算机架构与性能优化

计基之存储器层次结构 Author&#xff1a; Once Day Date&#xff1a; 2023年5月9日 长路漫漫&#xff0c;而今才刚刚启程&#xff01; 本内容收集整理于《深入理解计算机系统》一书。 参看文档: 捋一捋Cache - 知乎 (zhihu.com)iCache和dCache一致性 - 知乎 (zhihu.com)C…

【SpringCloud——Elasticsearch(上)】

一、什么是Elasticsearch elasticsearch是一款非常强大的开源搜索引擎&#xff0c;可以帮助我们从海量数据中快速找到需要的内容。 二、倒排索引 1、正向索引 2、倒排索引 3、总结 三、ES和MySQL的区别 四、操作索引库 1、基于Kibana&#xff08;WEB界面&#xff09; 以下操作…

jvisualvm ssl远程连接JVM

jvisualvm 远程ssl连接 一、没认证的 JMX连接 (不安全) 这种方式&#xff0c;仅限于测试环境&#xff0c;可以这样操作。生产环境为了安全起见&#xff0c;还是要使用带认证的方式连接。 远程jar包服务 启动时 java -jar [jvm参数] xx.jar添加JVM参数 java -jar -Xmx512M -Xms2…

基于深度学习的高精度汽车自行车检测识别系统(PyTorch+Pyside6+模型)

摘要&#xff1a;基于深度学习的高精度汽车自行车检测识别系统可用于日常生活中检测与定位汽车自行车目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的汽车自行车目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目…