亲宝软件园·资讯

展开

Python 处理中国地区信息

a Fang 人气:0

2.1数据的爬取

代码:

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)

代码运行结果:

首先使用pandasread_csv()方法进行数据的读取,然后就能够看到相应的表格信息。

2.2检查重复数据

dupnum=data.duplicated()

print(dupnum)

\# 对重复值进行处理

caldup=data.drop_duplicates()

print(caldup)

代码运行结果:

主要是是使用这个duplicated()方法进行数据的查重,返回一个布尔序列,仅对唯一元素而言为True。如果有重复的数据就会在该数值的部分返货Flase

然后我们就可以使用drop_duplicates()进行重复值删除。

2.3检查缺失值

代码:

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为非空的行。

2.4 检查异常值

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σ原则又称为拉依达准则,该准则具体来说,就是先假设一组检测数据只含有随机误差,对原始数据进行计算处理得到标准差,然后按一定的概率确定一个区间,认为误差超过这个区间的就属于异常值。

通俗理解就是正态分布。

加载全部内容

相关教程
猜你喜欢
用户评论