关于使用python matplotlib 中的hist柱状图的问题

#导入数据
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类型导致的

关于使用python matplotlib 中的hist柱状图的问题_第1张图片

这个地方可以使用numpy模块强制转换dtype类型解决:

numpy.array('数据',dtype='数据类型')。


以上是自己的一些学习经历,如果有什么不对的地方,希望大神可以指点下,谢谢。

你可能感兴趣的:(python)