数据的爬取
代码:
import pandas as pd
data=pd.read_csv("example_data.csv",header=1)
print(data)
data1=pd.read_csv("北京地区信息.csv",header=1,encoding='gbk')
data2=pd.read_csv("天津地区信息.csv",encoding='gbk')
print(data1)
print(data2)
代码运行结果:
首先使用pandas的read_csv()方法进行数据的读取,然后就能够看到相应的表格信息。
检查重复数据
# 2.2检查重复数据
dupnum=data.duplicated()
print(dupnum)
# 对重复值进行处理
caldup=data.drop_duplicates()
print(caldup)
代码运行结果:
主要是是使用这个duplicated()方法进行数据的查重,返回一个布尔序列,仅对唯一元素而言为True。如果有重复的数据就会在该数值的部分返货Flase。
然后我们就可以使用drop_duplicates()进行重复值删除。
检查缺失值
代码:
from pandas import Series
from numpy import NAN
# import pandas as pd
series_obj=Series([1,None])
pd.notnull(series_obj)
# 上面做的是测试
pd.notnull(data)
pd.notnull(data1)
pd.notnull(data2)
代码运行结果:
使用pd.notnull(data1)进行非空数值的返回, 返回值是布尔型的矩阵,再取df[布尔型矩阵]返回的是id为非空的行。
检查异常值
import numpy as np
# 2.4 检查异常值
def three_sig(ser1):
mean_value=ser1.mean()
# 标准差
std_value=ser1.std()
# 位于3σ范围外的都是异常值
# 数值大于u+3σ小雨u-3σ
rule=(mean_value-3*std_value>ser1)|(ser1.mean()+3*ser1.std()<ser1)
index=np.arange(ser1.shape[0])[rule]
outrange=ser1.iloc[index]
return outrange
three_sig(data2["女性"])
代码运行结果:
3σ原则又称为拉依达准则,该准则具体来说,就是先假设一组检测数据只含有随机误差,对原始数据进行计算处理得到标准差,然后按一定的概率确定一个区间,认为误差超过这个区间的就属于异常值。
通俗理解就是正态分布。