大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Python为什么需要Pandas的DataFrame类型

本篇内容主要讲解“Python为什么需要Pandas的DataFrame类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python为什么需要Pandas的DataFrame类型”吧!

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的朔城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

1. 问题描述

假设现在有这样的一个需求,需要在某电影网站上采集基本的电影数据,字段有电影名称、电影URL连接地址以及电影的评分三个字段。试想一下应该选择什么样的数据类型来存储这些数据?

Python为什么需要Pandas的DataFrame类型

首先大家可能想到的是list()类型,很快就会写出下面的代码:

videos = []item = ['哪吒之魔童降世', 'http://www.videos.com', '9.9']videos.append(item)
# [['哪吒之魔童降世', 'http://www.videos.com', '9.9']]

虽然能够存储这些数据,但是想要基于这些数据进行某些查找和修改操作,将会变得非常麻烦,如按评分排序、超找包含特定关键字的记录等。对于numpy.ndarray()来说,也是面临同样的问题。

上面介绍的这种形式的数据,是一种常见的需要存储和进行处理的一些数据,但是list()和numpy.ndarray()都无法很好的处理这些数据,因此需要一种新的、更加方便的数据类型,而这种数据类型就是pandas给我们提供的DataFrame类型。

2. Pandas的DataFrame类型

 

Pandas是Python开发中常用的第三方库,DataFrame是其中最常用的数据类型,是一种存放数据的容器。而在python中存放数据常见的有list()以及numpy中功能更加强大的numpy.ndarray(),但是为什么还要使用DataFrame呢?


 
首先编写采集电影基本数据的代码:
 
df = pandas.DataFrame(columns=['video_name', 'video_url', 'video_score'])for i in range(1,112):    url = 'https://www.meiju.net/search.php?page={}&searchtype=5&tid=2'.format(i)    soup = BeautifulSoup(requests.get(url).content, 'html.parser')    for item in soup.select('div.hy-video-list li > a'):        row = edict()        row.video_name = item['title']        row.video_url = item['href']                score_tag = item.select_one('span.score')        if score_tag is not None:            row.video_score = score_tag.text                df = df.append(row, ignore_index=True)
 
 
 

有了DataFrame这个类型之后,我们可以做什么呢?

可以按照评分对数据进行快速排序:

df.sort_values('video_score', ascending=False)

Python为什么需要Pandas的DataFrame类型

除了上面介绍的之外,还有很多更加强大的功能和方法,后续文章将根据一些案例持续进行介绍。

3. 结语

本文介绍了用Pandas的DataFrame类型来存储电影数据集的数据,并介绍了DataFrame提供的非常方便的数据操作。  

到此,相信大家对“Python为什么需要Pandas的DataFrame类型”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享名称:Python为什么需要Pandas的DataFrame类型
网页URL:http://dzwzjz.com/article/gdpdse.html
在线咨询
服务热线
服务热线:028-86922220
TOP