pandas系列之数据类型转换和异常值的处理1.数据类型转

本文所用到的Excel表格内容如下:

image-20210717220642228.png

1.数据类型转换

1.1数据类型介绍

类型 说明
int 整数
float 浮点数
object python对象类型,也就是字典,用O表示
string_ 字符串类型,经常用S表示,S10表示长度为10的字符串
unicode_ 固定长度的unicode,与字符串定义方式一样
datetime64[ns] 表示时间格式

其中,string和unicode目前没有涉及过,页始终无法构造出这2中数据类型。

1.2类型查看

1.2.1 通过info()查看所有列的类型

import pandas as pd
​
df = pd.read_excel(r'C:\Users\admin\Desktop\data_test.xlsx')
print(df.info())
复制代码

result:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 8 columns):
 #   Column  Non-Null Count  Dtype         
---  ------  --------------  -----         
 0   区域      5 non-null      object        
 1   省份      5 non-null      object        
 2   城市      5 non-null      object        
 3   时间      5 non-null      datetime64[ns]
 4   指标      5 non-null      int64         
 5   地址      5 non-null      object        
 6   权重      5 non-null      float64       
 7   字符      5 non-null      object        
dtypes: datetime64[ns](1), float64(1), int64(1), object(5)
memory usage: 448.0+ bytes
None
复制代码

1.2.2 通过dtype查看指定列的类型

对某一列进行重复值删除时,只需使用subset参数知名要判断的列名即可

df = pd.read_excel(r'C:\Users\admin\Desktop\data_test.xlsx')
print(df['时间'].dtype)
复制代码

result:

datetime64[ns]
复制代码

1.3 类型转换

astype():实现数据类型转换

df = pd.read_excel(r'C:\Users\admin\Desktop\data_test.xlsx')
print(df['指标'].astype("float"))
复制代码

result:

0    12.0
1    87.0
2    87.0
3    45.0
4    21.0
Name: 指标, dtype: float64
复制代码

2.异常值的处理

2.1异常值的检测

异常值的检测方式主要有以下三种:

(1)根据业务经验划定不同指标的正常范围,超过该范围的值一律算作异常值

(2)绘制箱形图,把大于(或小于)箱形图上边缘(或下边缘)的点称为异常值

(3)如果数据服从正态分布,可以利用3σ原则。如果一个数据与平均值之间的偏差超过3σ,那么我们就认为这个值是异常值

2.2异常值的处理

一般对于异常值有以下几种处理方式:

(1)删除,这是最常用的方式了。

(2)把异常值当做缺失值,进行填充

(3)把异常值当做特殊情况,研究异常值出现的原因