depuración de los datos pitón implementar (valor anormal procesamiento de los valores perdidos)

Hoy pequeña para que todos puedan compartir una pitón para la limpieza de datos (tratamiento de los valores perdidos y valores atípicos), tiene un valor de referencia buena, queremos ayuda. Venir a ver, seguir las pequeñas series juntos
1. archivo sql escrito a una base de datos local MySQL

taob tabla de base de pitón Este artículo está escrito
fuente [archivo local] Aquí Insertar imagen Descripción
en donde totales de datos 9616 filas, columnas como título, enlace, precio, respectivamente, Comentario

2. Enlace y leer los datos usando Python

Los datos se resumen vista

#-*- 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())

Descripción Los datos de importación es correcta, un simple análisis encontró que el problema no es tan simple, ya que el comentario podría significar 562 es demasiado grande, 454,037 errores sí ocurren el número máximo de comentarios, precio 0 precio no es probable que ocurra.

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. los valores que faltan

El precio para el valor 0 para la mediana 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

Los resultados muestran que la línea de datos 44 modificado.

4. la manipulación de valores atípicos

#-*- 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)

Los resultados se muestran a continuación, el precio en alrededor de 0 comentario es muy probable que un valor atípico, los comentarios es 0, el precio máximo posible. Aquí Insertar imagen Descripción
Comentarios valores atípicos procesan siguiente, suponiendo que la línea divisoria se establece en un valor 20w anormal,

#-*- 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()

Salida de los resultados del tratamiento son: Aquí Insertar imagen Descripción
Recomendado pitón nuestros sitios de aprendizaje, haga clic para entrar , para ver la edad que el programa es aprender! Desde guión básico pitón, reptiles, Django

compilación de base cero de datos, minería de datos, técnicas de programación, experiencia de trabajo, así como un estudio cuidadoso de alto nivel de los pequeños socios del proyecto Python para el combate

,! El método tiene programador temporizado Python explicar la tecnología cotidiana, para compartir algunas de las letras y la necesidad de prestar atención a los pequeños detalles

Publicado 48 artículos originales · ganado elogios 21 · Vistas a 60000 +

Supongo que te gusta

Origin blog.csdn.net/haoxun11/article/details/105082087
Recomendado
Clasificación