數據的爬取
代碼:
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σ原則又稱為拉依達準則,該準則具體來說,就是先假設一組檢測數據只含有隨機誤差,對原始數據進行計算處理得到標準差,然后按一定的概率確定一個區間,認為誤差超過這個區間的就屬于異常值。
通俗理解就是正態分布。