python数据可视化分析总结,基于python的数据可视化
本文为大家带来了一些关于python的知识,主要介绍了一些关于数据处理和可视化的相关问题,包括NumPy的初始使用,Matplotlib包的使用以及数据统计的可视化展示等。希望对你有帮助。
推荐:python教程
00-1010形式是数据的一般表示,但它是机器无法理解的,也就是无法识别的数据,所以我们需要调整形式的形式。
常用的机器学习表示是数据矩阵。
看这个表,我们发现矩阵中有两种属性,一种是数值型,一种是布尔型。现在让我们建立一个模型来描述这个表:
#将数据导入数量矩阵化为np
data=np.mat([[1,200,105,3,False],[2,165,80,2,False],[3,184.5,120,2,False),
对于数据:中的行,[4,116,70.8,1,False],[5,270,150,4,True]])row=0
row=1 print(row)print(data . size)print(data)这里第一行代码的意思是引入NumPy,重命名为np。第二行,我们使用NumPy中的mat()方法构建一个数据矩阵,row是引入的变量,用来计算行数。
这里的大小是指5*5的表格,直接打印数据就能看到数据:
00-1010我们还是看最上面的表吧。第二列是房价差异。我们希望直观地看到差异(因为只有数字),所以希望能够画出来(研究数字差异和异常的方法就是画出数据的分布):
将numpy作为NP导入scipy.stats作为stats导入pylab
data=np.mat([[1,200,105,3,False],[2,165,80,2,False],[3,184.5,120,2,False),
[4,116,70.8,1,False],[5,270,150,4,True]])coll=[],用于数据:中的行
Coll. append (row [0,1])stats . proplot(coll,plot=pylab) pylab.show()这段代码的结果是生成一个图形:
这样我们就能清楚地看到区别。
坐标图的要求是通过不同的行和列显示数据的具体值。
当然,我们也可以展示坐标图:
计算
一、NumPy的初步使用
相似度的方法有很多。我们选择最常用的两种,即欧氏相似度和余弦相似度。00-1010欧氏距离,用来表示三维空间中两点之间的真实距离。其实公式我们都知道,但是名字听的不多:
那么让我们来看看它的实际应用:
此表是3个用户对项目的评分:
D12表示用户1和用户2之间的相似性,则有:
同样,d13:
可以看出,用户2与用户1更相似(距离越小,相似度越大)。
00-1010余弦角由夹角差计算得出。可以看出,与用户3相比,用户2与用户1更相似(两个目标越相似,其线段形成的角度越小)。
00-1010
二、Matplotlib包的使用图形化数据处理
四分位数是统计学中的一种分位数,即把数据从小到大排列,然后分成四等份。三个分界点的数据是四分位数。第一四分位数(Q1),也被称为下四分位数;第二四分位数(Q1),也被称为中位数;第三四分位数(Q1),也被称为下四分位数;第三四分位数与第一四分位数的差距又称为四分差距(IQR)。
如果n是项数,则:
Q1的位置=(n ^ 1)* 0.25
Q2的位置=(n 1)*0.50
Q3的位置=(n ^ 1)* 0.75
四分位数的例子:关于这个rain.csv,有需要的可以私我要文件,我使用的是亳州市2010-2019年的月份降水情况。
从pylab进口*进口熊猫作为
pdimport matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()print(summary)array = dataFile.iloc[:,:].values
boxplot(array)plot.xlabel("year")plot.ylabel("rain")show()以下是plot运行结果:
这个是pandas的运行
这里就可以很清晰的看出来数据的波动范围。
可以看出,不同月份的降水量有很大差距,8月最多,1-4月和10-12月最少。
那么每月的降水增减程度如何比较?
from pylab import *import pandas as pdimport matplotlib.pyplot as plot结果如图:filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()minRings = -1maxRings = 99nrows = 11for i in range(nrows):
dataRow = dataFile.iloc[i,1:13]
labelColor = ( (dataFile.iloc[i,12] - minRings ) / (maxRings - minRings) )
dataRow.plot(color = plot.cm.RdYlBu(labelColor),alpha = 0.5)plot.xlabel("Attribute")plot.ylabel(("Score"))show()
可以看出来降水月份并不规律的上涨或下跌。
那么每月降水是否相关?
from pylab import *import pandas as pdimport matplotlib.pyplot as plot结果如图:filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")# "C:\Users\AWAITXM\Desktop\rain.csv"dataFile = pd.read_csv(filepath)summary = dataFile.describe()corMat = pd.DataFrame(dataFile.iloc[1:20,1:20].corr())plot.pcolor(corMat)plot.show()
可以看出,颜色分布十分均匀,表示没有多大的相关性,因此可以认为每月的降水是独立行为。
今天就记录到这里了,我们下次再见!希望本文章对你也有所帮助。
推荐学习:python学习教程以上就是深入了解Python数据处理及可视化的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。