首页 > 其他分享 >定量数据和定性数据

定量数据和定性数据

时间:2023-11-19 18:45:18浏览次数:20  
标签:00 定量 定性 1356 object ranges non null 数据

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

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

import pandas as pd

pd.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

标签:00,定量,定性,1356,object,ranges,non,null,数据
From: https://www.cnblogs.com/wufengtinghai/p/17842380.html

相关文章

  • IP数据报 ipv4 协议
    1.IP数据报 2.Offset计算  3.路由转发表举例  4.XXXXX  ShoelessCai.com值得你的关注!! ......
  • 大数据应用算法复习笔记
    许我人间一两风,吹散十万八千梦"余幼时即嗜code,家贫,无computer以观,每假借于电脑之家,拆板以刻,计日以还。既加冠,益慕算法之道,又患无cpp,java以游,遂至北理工,观此ppt。当余之读ppt也,负箧曳屣,行无暖气之中教中,穷冬烈风,银杏叶深数尺,面庞皲裂而不知。至舍,四支僵劲不能动,吾自持汤沃灌,以衾......
  • 数据库分片
    数据库的分片是一种在多个节点上分割和存储数据的技术。它可以提高数据库的性能、可扩展性和容错能力。下面是一个一般性的数据库分片过程:设计分片键:选择一个合适的字段作为分片键,例如用户ID、地理位置等。分片键应该具有较好的均匀性,以确保数据分布相对平衡。确定分片策略:根据业务......
  • Canal+Kafka实现MySQL与Redis数据同步(二)
    Canal+Kafka实现MySQL与Redis数据同步(二)创建MQ消费者进行同步在application.yml配置文件加上kafka的配置信息:spring:kafka:#Kafka服务地址bootstrap-servers:127.0.0.1:9092consumer:#指定一个默认的组名group-id:consumer-group1......
  • NoSQL数据库类型简介
    NoSQL数据库类型简介近些年来,NoSQL数据库的发展势头很快。据统计,目前已经产生了50到150个NoSQL数据库系统。但是,归结起来,可以将典型的NoSQL划分为4种类型,分别是键值数据库、列式数据库、文档数据库和图形数据库,如图1所示。图14种类型的NoSQL数据库图2键值......
  • 无涯教程-RSpec - 元数据
    RSpec是一种灵活而强大的工具。RSpec中的元数据(Metadata)函数也不例外。元数据通常指“关于数据的数据”。在RSpec中,这意味着有关您的描述,上下文及其块的数据,让无涯教程看一个例子-RSpec.describe"AnExampleGroupwithametadatavariable",:foo=>17docontext'an......
  • STL和基本数据结构
    STL和基本数据结构一、vector用法:vector是STL的动态数组。圆桌问题ProblemDescription圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围......
  • 通过PowerShellPlus示例脚本学习PowerShell-连接SQLServer数据库
    ##=====================================================================##Title:Connect-MSSQL-IPSQLAuth##Description:Connectto$ServerNameusingSQLServerauthentication.##Thisconnectionisnotencrypted.##......
  • python之numpy处理股票数据
    一概述Numpy是一个最重要的一个基于多维数组对象,即ndarray对象,该对象具有矢量算数运算能力和复杂的广播能力,可以执行一些科学计算。它的常用属性如下表所示:属性说明ndim数组的维度,如一维、二维、三维等shape数组的形状,如一个5行4列的数组,它的shape属性为(5,4)size数组元素的总个数......
  • 如何使用Matplotlib模块的text()函数给柱形图添加美丽的标签数据?
    (如何使用Matplotlib模块的text函数给柱形图添加美丽的标签数据?)1简单引入在进行数据分析时,当一些图表数据,比如柱形图我们想让它更直观的显示一些内容,有时候会给柱形图添加标签,那如何实现这样的效果呢?还有比如我们把某手机品牌1-12月每月的销量制作成柱形图,那如何在柱形图上......