本文寫入的是python資料庫的taob表
source [本地檔案]
其中總資料為9616行,列分別為title,link,price,comment
檢視資料概括
#-*- 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())
price
comment
count
9616.00000
9616.000000
mean
64.49324
562.239601
std176.10901
6078.909643
min0.00000
0.000000
25% 20.00000 16.000000
50% 36.00000 58.000000
75% 66.00000 205.000000
max7940.00000
454037.000000
將**為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行的資料。
#-*- 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)
#-*- 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進行缺失值處理
處理缺失值的方法有3種 刪除 不處理 資料插補。而資料插補主要有5種 1 利用均值 中位數 眾數插補 2 使用固定值進行插補 3 最近臨插補 4 回歸方法 5 插值法 而主要的插值法分為牛頓插值法 拉格朗日插值法 hermite插值 分段插值 樣條插值法等。對數學好的可以看一下拉格朗日插值法的數學公...
資料預處理 資料清洗(1) 缺失值處理
缺失值,異常值和重複值的處理 3.1.1缺失值處理 缺失值處理方式 填充缺失值相對直接刪除而言,用適當方式填充缺失值,形成完整的資料記錄是更加常用的缺失值處理方式。常用的填充方法如下 不處理資料分析和建模應用中很多模型對於缺失值有容忍度或靈活的處理方法,因此在預處理階段可以不做處理。常見的能夠自動處...
金融申請評分卡 資料準備 缺失值資料清洗
今天我們來聊聊資料準備中的資料清洗。其實資料清洗這四個字對於常常做資料分析建模的同學們一定不陌生,不管在實際工作中有沒有真正做清洗,我們都會先把這個口號喊出來,資料清洗這塊其實我也一直不太願意拿出來說,因為這種活實在太結合業務理解了,而且還見仁見智,並不是簡簡單單的三步 缺失值填補 異常值刪除 錯誤...