文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何利用Python实现数据导入和可视化

2023-06-03 02:11

关注

这篇文章将为大家详细讲解有关如何利用Python实现数据导入和可视化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

数据导入和可视化

通常,数据分析的第一步由获取数据和导入数据到我们的工作环境组成。我们可以使用以下的Python代码简单的下载数据:

Python

import urllib2

url = 'http://aima.cs.berkeley.edu/data/iris.csv'

u = urllib2.urlopen(url)

localFile = open('iris.csv'', 'w')

localFile.write(u.read())

localFile.close()

在以上的代码片段中,我们使用了urllib2类库以获取伯克利大学网站的一个文件,并使用标准类库提供的File对象把它保存到本地磁盘。数据包含鸢尾花(iris)数据集,这是一个包含了三种鸢尾花(山鸢尾、维吉尼亚鸢尾和变色鸢尾)的各50个数据样本的多元数据集,每个样本都有四个特征(或者说变量),即花萼(sepal)和花瓣(petal)的长度和宽度。以厘米为单位。

数据集以CSV(逗号分割值)的格式存储。CSV文件可以很方便的转化并把其中的信息存储为适合的数据结构。此数据集有5列(译者注:原文是行,但这里应该是列的意思),前4列包含着特征值,最后一列代表着样本类型。CSV文件很容易被numpy类库的genfromtxt方法解析:

Python

from numpy import genfromtxt, zeros

# read the first 4 columns

data = genfromtxt('iris.csv',delimiter=',',usecols=(0,1,2,3))

# read the fifth column

target = genfromtxt('iris.csv',delimiter=',',usecols=(4),dtype=str)

在上面的例子中我们创建了一个包含特征值的矩阵以及一个包含样本类型的向量。我们可以通过查看我们加载的数据结构的shape值来确认数据集的大小:

Python

print data.shape

(150, 4)

print target.shape

(150,)

我们也可以查看我们有多少种样本类型以及它们的名字:

Python

print set(target) # build a collection of unique elements

set(['setosa', 'versicolor', 'virginica'])

当我们处理新数据的时候,一项很重要的任务是尝试去理解数据包含的信息以及它的组织结构。可视化可以灵活生动的展示数据,帮助我们深入理解数据。

使用pylab类库(matplotlib的接口)的plotting方法可以建一个二维散点图让我们在两个维度上分析数据集的两个特征值:

Python

from pylab import plot, show

plot(data[target=='setosa',0],data[target=='setosa',2],'bo')

plot(data[target=='versicolor',0],data[target=='versicolor',2],'ro')

plot(data[target=='virginica',0],data[target=='virginica',2],'go')

show()

上面那段代码使用第一和第三维度(花萼的长和宽),结果如下图所示: 如何利用Python实现数据导入和可视化

在上图中有150个点,不同的颜色代表不同的类型;蓝色点代表山鸢尾,红色点代表变色鸢尾,绿色点代表维吉尼亚鸢尾。

另一种常用的查看数据的方法是分特性绘制直方图。在本例中,既然数据被分为三类,我们就可以比较每一类的分布特征。下面这个代码可以绘制数据中每一类型的第一个特性(花萼的长度):

Python

from pylab import figure, subplot, hist, xlim, show

xmin = min(data[:,0])

xmax = max(data[:,0])

figure()

subplot(411) # distribution of the setosa class (1st, on the top)

hist(data[target=='setosa',0],color='b',alpha=.7)

xlim(xmin,xmax)

subplot(412) # distribution of the versicolor class (2nd)

hist(data[target=='versicolor',0],color='r',alpha=.7)

xlim(xmin,xmax)

subplot(413) # distribution of the virginica class (3rd)

hist(data[target=='virginica',0],color='g',alpha=.7)

xlim(xmin,xmax)

subplot(414) # global histogram (4th, on the bottom)

hist(data[:,0],color='y',alpha=.7)

xlim(xmin,xmax)

show()

结果如下图:

如何利用Python实现数据导入和可视化

根据上图的直方图,我们可以根据数据类型区分理解数据的特征。

关于“如何利用Python实现数据导入和可视化”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯