定量数据和定性数据

定量数据本质上是数值,应该是衡量某样东西的数量。
定性数据本质上是类别,应该是描述某样东西的性质。

全部的数据列如下,其中既有定性列也有定量列;

import pandas as pdpd.options.display.max_columns = None
pd.set_option('expand_frame_repr', False)
salary_ranges = pd.read_csv('./data/Salary_Ranges_by_Job_Classification.csv')
print(salary_ranges.head())
#    SetID JobCode                Eff Date              SalEndDate SalarySetID SalPlan Grade  Step BiweeklyHighRate BiweeklyLowRate  UnionCode  ExtendedStep PayType
# 0  COMMN     109  07/01/2009 12:00:00 AM  06/30/2010 12:00:00 AM       COMMN     SFM     0     1            $0.00           $0.00        330             0       C
# 1  COMMN     110  07/01/2009 12:00:00 AM  06/30/2010 12:00:00 AM       COMMN     SFM     0     1           $15.00          $15.00        323             0       D
# 2  COMMN     111  07/01/2009 12:00:00 AM  06/30/2010 12:00:00 AM       COMMN     SFM     0     1           $25.00          $25.00        323             0       D
# 3  COMMN     112  07/01/2009 12:00:00 AM  06/30/2010 12:00:00 AM       COMMN     SFM     0     1           $50.00          $50.00        323             0       D
# 4  COMMN     114  07/01/2009 12:00:00 AM  06/30/2010 12:00:00 AM       COMMN     SFM     0     1          $100.00         $100.00        323             0       M

.info()可以了解数据的列信息以及每列非null的行数;

print(salary_ranges.info())# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 1356 entries, 0 to 1355
# Data columns (total 13 columns):
#  #   Column              Non-Null Count  Dtype
# ---  ------              --------------  -----
#  0   SetID               1356 non-null   object
#  1   Job Code            1356 non-null   object
#  2   Eff Date            1356 non-null   object
#  3   Sal End Date        1356 non-null   object
#  4   Salary SetID        1356 non-null   object
#  5   Sal Plan            1356 non-null   object
#  6   Grade               1356 non-null   object
#  7   Step                1356 non-null   int64
#  8   Biweekly High Rate  1356 non-null   object
#  9   Biweekly Low Rate   1356 non-null   object
#  10  Union Code          1356 non-null   int64
#  11  Extended Step       1356 non-null   int64
#  12  Pay Type            1356 non-null   object
# dtypes: int64(3), object(10)
# memory usage: 137.8+ KB
# None

也可以使用以下方法更快速的计算缺失值的信息;

print(salary_ranges.isnull().sum())
# SetID                 0
# Job Code              0
# Eff Date              0
# Sal End Date          0
# Salary SetID          0
# Sal Plan              0
# Grade                 0
# Step                  0
# Biweekly High Rate    0
# Biweekly Low Rate     0
# Union Code            0
# Extended Step         0
# Pay Type              0
# dtype: int64

describe方法查看定量数据的描述性统计;Pandas认为,数据只有3个定量列:Step、Union Code和Extended Step(步进、工会代码和增强步进)。先不说步进和增强步进,很明显工会代码不是定量的。虽然这一列是数,但这些数不代表数量,只代表某个工会的代码

print( salary_ranges.describe())#               Step   Union Code  Extended Step
# count  1356.000000  1356.000000    1356.000000
# mean      1.294985   392.676991       0.150442
# std       1.045816   338.100562       1.006734
# min       1.000000     1.000000       0.000000
# 25%       1.000000    21.000000       0.000000
# 50%       1.000000   351.000000       0.000000
# 75%       1.000000   790.000000       0.000000
# max       5.000000   990.000000      11.000000

最值得注意的特征是一个定量列Biweekly High Rate(双周最高工资)和一个定性列Grade(工作种类);

salary_ranges = salary_ranges[['BiweeklyHighRate', 'Grade']]
print(salary_ranges.head())#   BiweeklyHighRate Grade
# 0            $0.00     0
# 1           $15.00     0
# 2           $25.00     0
# 3           $50.00     0
# 4          $100.00     0

查看两个字段的类型;

print(salary_ranges.info())# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 1356 entries, 0 to 1355
# Data columns (total 2 columns):
#  #   Column            Non-Null Count  Dtype
# ---  ------            --------------  -----
#  0   BiweeklyHighRate  1356 non-null   object
#  1   Grade             1356 non-null   object
# dtypes: object(2)
# memory usage: 21.3+ KB
# None

我们清理一下数据,移除工资前面的美元符号,保证数据类型正确。当处理定量数据时,一般使用整数或浮点数作为类型(最好使用浮点数);定性数据则一般使用字符串或Unicode对象。

salary_ranges['BiweeklyHighRate'] = salary_ranges['BiweeklyHighRate'].map(lambda value:value.replace('$',''))
print(salary_ranges.head())#   BiweeklyHighRate Grade
# 0             0.00     0
# 1            15.00     0
# 2            25.00     0
# 3            50.00     0
# 4           100.00     0

数据类型并没有变

print(salary_ranges.info())
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 1356 entries, 0 to 1355
# Data columns (total 2 columns):
#  #   Column            Non-Null Count  Dtype 
# ---  ------            --------------  ----- 
#  0   BiweeklyHighRate  1356 non-null   object
#  1   Grade             1356 non-null   object
# dtypes: object(2)
# memory usage: 21.3+ KB
# None

将BiweeklyHighRate和Grade列中的数据分别转换为浮点数、字符串;

salary_ranges['BiweeklyHighRate'] = salary_ranges['BiweeklyHighRate'].astype(float)
salary_ranges['Grade'] = salary_ranges['Grade'].astype(str)
print(salary_ranges.info())# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 1356 entries, 0 to 1355
# Data columns (total 2 columns):
#  #   Column            Non-Null Count  Dtype
# ---  ------            --------------  -----
#  0   BiweeklyHighRate  1356 non-null   float64
#  1   Grade             1356 non-null   object
# dtypes: float64(1), object(1)
# memory usage: 21.3+ KB
# None

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

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

相关文章

世界坐标系,相机坐标系,像素坐标系转换 详细说明(附代码)

几个坐标系介绍&#xff0c;相机内外参的回顾参考此文。 本文主要说明如何在几个坐标系之间转换。 本文涉及&#xff1a; 使用相机内参 在 像素坐标系 和 相机坐标系 之间转换。使用相机外参&#xff08;位姿&#xff09;在相机坐标系 和 世界坐标系 之间转换。(qw,qx,qy,qz,…

【C++】pow函数实现的伽马变换详解和示例

本文通过原理和示例对伽马变换进行详解&#xff0c;并通过改变变换系数展示不同的效果&#xff0c;以帮助大家理解和使用。 原理 伽马变换是一种用于图像增强的技术&#xff0c;它可以用来提高或降低图像的对比度&#xff0c;常用于医学图像处理和计算机视觉等领域。伽马变换…

Fork项目新分支如何同步

这里以seata项目为示例&#xff1a; 一、添加Fork仓库的源仓库 git remote add seata gitgithub.com:seata/seata.git二、fetch git fetch seata

姿态估计 MediaPipe实现手势,人体姿态,面部动作估计的用法

姿态估计 MediaPipe实现手势&#xff0c;人体姿态&#xff0c;面部动作估计的用法 import mediapipe as mp import cv2 import numpy as np import time # 定义一个函数&#xff0c;计算两个点的距离 def findDis(pts1,pts2):return ((pts2[0]-pts1[0])**2 (pts2[1]-pts1[1])*…

媒体行业的3D建模:在影视中创造特效纹理

在线工具推荐&#xff1a; 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 在本文中&#xff0c;我们将探讨 3D 建模在媒体行业中的作用&#xff0c;特别是它在影视特效创作…

【C++】类和对象的知识点

目录 一&#xff0c;初始化列表 二&#xff0c;static静态成员 三&#xff0c;友元 3-1&#xff0c;友元函数 3-2&#xff0c;友元类 四&#xff0c;内部类 五&#xff0c;匿名对象 一&#xff0c;初始化列表 引入&#xff1a; 在谈初始化列表前&#xff0c;我们先清…

反渗透水处理成套设备有哪些

反渗透水处理成套设备主要包括反渗透装置、预处理系统、控制系统等部分。 反渗透装置&#xff1a;反渗透水处理设备的核心部分&#xff0c;由反渗透膜、压力容器、膜组件等组成。反渗透膜是一种高分子材料制成的半透膜&#xff0c;能够截留水中的溶解盐、有机物、细菌等杂质&a…

(动手学习深度学习)第13章 计算机视觉---微调

文章目录 微调总结 微调代码实现 微调 总结 微调通过使用在大数据上的恶道的预训练好的模型来初始化模型权重来完成提升精度。预训练模型质量很重要微调通常速度更快、精确度更高 微调代码实现 导入相关库 %matplotlib inline import os import torch import torchvision f…

Midjourney绘画提示词Prompt参考学习教程

一、工具 SparkAi&#xff1a; SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软…

SDL2 播放音频数据(PCM)

1.简介 这里以常用的视频原始数据PCM数据为例&#xff0c;展示音频的播放。 SDL播放音频的流程如下&#xff1a; 初始化音频子系统&#xff1a;SDL_Init()。设置音频参数&#xff1a;SDL_AudioSpec。设置回调函数&#xff1a;SDL_AudioCallback。打开音频设备&#xff1a;SD…

ML-Net:通过深度学习彻底改变多标签分类

一、说明 多标签分类是一项具有挑战性的机器学习任务&#xff0c;其中输入可以同时属于多个类。传统的多标签分类方法通常依赖于将问题转化为一系列二元分类任务或使用集成方法。然而&#xff0c;深度学习的出现开创了多标签分类的新时代&#xff0c;ML-Net 等模型突破了该领域…

02-1解析xpath

我是在edge浏览器中安装的xpath&#xff0c;需要安装的朋友可以参考下面这篇博客最新版edge浏览器中安装xpath插件 一、xpathd的使用 安装lxml pip install lxml ‐i https://pypi.douban.com/simple导入lxml.etree from lxml import etreeetree.parse() 解析本地文件 htm…

SpringBoot和Spring的区别是什么?

目录 Spring SpringBoot 区别&#xff1a; 1、自动配置: 2、内嵌Web服务器: 3、约定大于配置: Spring Spring是一个非常强大的企业级Java开发框架&#xff0c;Spring 框架为开发 Java 应用程序提供了全面的基础架构支持。它包含一些很好的功能&#xff0c;如依赖注入和开…

vscode的git 工具使用

vscode的git 工具使用 目录概述需求&#xff1a; 设计思路实现思路分析1.git 工具的使用2.提交代码3.查看历史提交代码 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a be…

使用webhook发送企业微信消息

文章目录 使用webhook发送企业微信消息企业微信群机器人思路实现总结 使用webhook发送企业微信消息 企业微信群机器人思路实现 1&#xff0c;在企业微信中新建一个群 2&#xff0c;在设置里面添加机器人 3&#xff0c;拿到webhook地址 在终端某个群组添加机器人之后&#xf…

Servlet API 详解

文章目录 前言什么是ServletHttpServletHttpServletRequest1. form表单构造POST请求2. JSON形式表示body部分 HttpServletResponse 前言 前面为大家介绍了如何使用 servlet 写一个简单的网站&#xff0c;前面只是大概了解了如何使用简单的 servlet&#xff0c;而平时网站的逻辑…

Hive Lateral View explode列为空时导致数据异常丢失

一、问题描述 日常工作中我们经常会遇到一些非结构化数据&#xff0c;因此常常会将Lateral View 结合explode使用&#xff0c;达到将非结构化数据转化成结构化数据的目的&#xff0c;但是该方法对应explode的内容是有非null限制的&#xff0c;否则就有可能造成数据缺失。 SE…

一体多面:哪有什么DO、BO、DTO,只不过是司空见惯的日常

欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章&#xff0c;主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等&#xff0c;同时欢迎大家加我微信「java_front」一起交流学习 1 分层疑问 无论DDD还是MVC模式构建项目&#xff0c;势必涉及到工程结构的分层&…

typora整理markdown笔记

效果 符号 快捷键 斜体 * * ctrlB(代表同时按) 加粗 ** ** ctrlI 竖线 > 超链接 清除样式 ctrl\ 图片 ![图片描述][图片绝对路径/相对路径] 如何在Typora中插入图像&#xff1f; ➊ 使用Markdown语法 &#xff08;不推荐&#xff0c;太慢&#xff09; ➋ 直接拷贝图…

Theory behind GAN

假如要生成一些人脸图&#xff0c;实际上就是想要找到一个分布&#xff0c;从这个分布内sample出来的图片像是人脸&#xff0c;分布之外生成的就不像人脸。而GAN要做的就是找到这个distribution。 在GAN之前用的是Maximum Likelihood Estimation。 Maximum Likelihood Estimat…