91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python實現數據清洗(缺失值與異常值處理)

發布時間:2020-09-14 15:30:08 來源:腳本之家 閱讀:270 作者:諾坎普奇跡 欄目:開發技術

1。 將本地sql文件寫入mysql數據庫

本文寫入的是python數據庫的taob表

source [本地文件]

python實現數據清洗(缺失值與異常值處理)

其中總數據為9616行,列分別為title,link,price,comment

2。使用python鏈接并讀取數據

查看數據概括

#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#鏈接本地數據庫
sql = 'select * from taob'#sql語句
data = pd.read_sql(sql,conn)#獲取數據
print(data.describe())

說明數據的導入是正確的,簡單的分析發現問題并不是這么簡單,因為comment均值562可能偏大,最大評論數454037也可能出現錯誤,price價格為0也不太可能出現。

 price    comment
count 9616.00000  9616.000000
mean   64.49324   562.239601
std   176.10901  6078.909643
min    0.00000    0.000000
25%   20.00000   16.000000
50%   36.00000   58.000000
75%   66.00000   205.000000
max  7940.00000 454037.000000

3。缺失值處理

將價格為0的值設置為中位數36

#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#鏈接本地數據庫
sql = 'select * from taob'#sql語句
data = pd.read_sql(sql,conn)#獲取數據

data['price'][data['price']==0]=None
x = 0
for i in data.columns:
  for j in range(len(data)):
    if (data[i].isnull()) [j]:
      data[i][j]='36'
      x+=1
print(x)
#44

結果顯示修改了44行的數據。

4。異常值處理

#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#鏈接本地數據庫
sql = 'select * from taob'#sql語句
data = pd.read_sql(sql,conn)#獲取數據
#缺失值處理
data['price'][data['price']==0]=None
x = 0
for i in data.columns:
  for j in range(len(data)):
    if (data[i].isnull()) [j]:
      data[i][j]='36'
      x+=1
print(x)
#異常值處理
#繪制散點圖,價格為橫軸
data1 = data.T#轉置
price = data1.values[2]
comment = data1.values[3]
plt.plot(price,comment,'o')
plt.show()
#print(price)

結果如下圖,價格為0左右時comment很大可能為異常值,comments為0時,價格極大這個有可能的。

python實現數據清洗(缺失值與異常值處理)

接下來處理評論數異常值,假設異常值分割線設置為20w,

#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#鏈接本地數據庫
sql = 'select * from taob'#sql語句
data = pd.read_sql(sql,conn)#獲取數據
#缺失值處理
data['price'][data['price']==0]=None
x = 0
for i in data.columns:
  for j in range(len(data)):
    if (data[i].isnull()) [j]:
      data[i][j]='36'
      x+=1
print(x)
#異常值處理
da = data.values#重新賦值data
#異常值處理,將commments大于200000的數據comments設置為58
cont_clou = len(da)#獲取行數
#遍歷數據進行處理
for i in range(0,cont_clou):
  if(data.values[i][3]>200000):
    #print(data.values[i][3])
    da[i][3]='58'
    #print(da[i][3])

#繪制散點圖,價格為橫軸
data1 = da.T#轉置
price = data1[2]
comment = data1[3]
plt.plot(price,comment,'o')
plt.xlabel('price')
plt.ylabel('comments')
plt.show()

處理后的輸出結果為:

python實現數據清洗(缺失值與異常值處理)

以上這篇python實現數據清洗(缺失值與異常值處理)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

启东市| 北碚区| 鹤峰县| 望奎县| 大方县| 格尔木市| 托克托县| 靖安县| 北碚区| 蓬莱市| 蒙山县| 东乡县| 永康市| 武邑县| 城固县| 綦江县| 峨边| 当阳市| 尚义县| 清涧县| 成安县| 大足县| 三江| 松原市| 鹤山市| 云阳县| 开江县| 临夏市| 栾城县| 永济市| 灵武市| 偏关县| 温泉县| 吉木乃县| 屏东县| 札达县| 云林县| 永胜县| 独山县| 信阳市| 襄汾县|