#导入数据
import pymysql
import numpy as np
import pandas as pd
import matplotlib.pylab as pyl
conn=pymysql.connect(host="127.0.0.1",user="root",password="root",db="f")
sql="select * from taob"
data=pd.read_sql(sql,conn)
sql_0="select count(*) from taob where price = 0"
data_0=pd.read_sql(sql_0,conn)
x=0
data["price"][(data["price"]==0)]=None
for i in data.columns:
for j in range(len(data)):
if(data[i].isnull()[j]):
data[i][j]="36"
x+=1
data2=data.T
price=data2.values[2]
comt=data2.values[3]
#
pyl.plot(price,comt,'or')
#pyl.show()
line=len(data.values)
col=len(data.values[0])
da=data.values
for i in range(0,line):
for j in range(0,col):
if(da[i][2]>130):
print(da[i][j])
da[i][j]=36
if(da[i][3]>300):
print(da[i][j])
da[i][j]=58
da2=da.T
price=da2[2]
comt=da2[3]
#pyl.plot(price,comt,'o')
#pyl.show()
#分布分析
pricemax=da2[2].max()
pricemin=da2[2].min()
comtmax=da2[3].max()
comtmin=da2[3].min()
#极差:最大值-最小值
pricerg=pricemax-pricemin
comtrg=comtmax-comtmin
#组距:极差/组数
pricedst=pricerg/12
comtdst=comtrg/12
#画价格的直方图
pricesty=np.arange(pricemin,pricemin,pricerg)
#pyl.hist(da2[2],pricesty)
#pyl.show()
在以上代码中,在最后的hist画图,会出现卡住的问题。
经过自己的一些分析,应该是由于da2中的数组的dtype类型导致的
这个地方可以使用numpy模块强制转换dtype类型解决:
numpy.array('数据',dtype='数据类型')。
以上是自己的一些学习经历,如果有什么不对的地方,希望大神可以指点下,谢谢。