为什么你需要Pandas的DataFrame

简介: 为什么你需要Pandas的DataFrame

Pandas是我们平时进行数据分析时,经常会使用到的一个库,提供了非常丰富的数据类型和方法,以简化对数据的处理和分析。前面几篇文章已经介绍了Python自带的list()以及强大的numpy提供的ndarray类型,这些数据类型还不够强大吗?为什么还需要新的数据类型呢?


在学习新的知识的时候,一方面需要了解这个新的概念是什么,另外还需要了解为什么需要学习这个新的知识,以往的知识不能解决问题吗?不能满足需要吗?只有搞明白了为什么的问题,才能灵活的应用新的知识和技能解决问题。


1. 问题描述

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


首先大家可能想到的是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)


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



3. 结语

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

目录
相关文章
|
30天前
|
存储 数据挖掘 数据处理
掌握Pandas核心数据结构:Series与DataFrame的四种创建方式
本文介绍了 Pandas 库中核心数据结构 Series 和 DataFrame 的四种创建方法,包括从列表、字典、标量和 NumPy 数组创建 Series,以及从字典、列表的列表、NumPy 数组和 Series 字典创建 DataFrame,通过示例详细说明了每种创建方式的具体应用。
155 67
|
4月前
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
305 0
|
16天前
|
存储 数据挖掘 索引
Pandas数据结构:Series与DataFrame
本文介绍了 Python 的 Pandas 库中两种主要数据结构 `Series` 和 ``DataFrame`,从基础概念入手,详细讲解了它们的创建、常见问题及解决方案,包括数据缺失处理、数据类型转换、重复数据删除、数据筛选、排序、聚合和合并等操作。同时,还提供了常见报错及解决方法,帮助读者更好地理解和使用 Pandas 进行数据分析。
52 10
|
30天前
|
存储 数据挖掘 索引
Pandas Series 和 DataFrame 常用属性详解及实例
Pandas 是 Python 数据分析的重要工具,其核心数据结构 Series 和 DataFrame 广泛应用。本文详细介绍了这两种结构的常用属性,如 `index`、`values`、`dtype` 等,并通过具体示例帮助读者更好地理解和使用这些属性,提升数据分析效率。
48 4
|
2月前
|
SQL 数据采集 数据可视化
Pandas 数据结构 - DataFrame
10月更文挑战第26天
56 2
Pandas 数据结构 - DataFrame
|
8月前
|
数据可视化 数据挖掘 数据处理
进阶 pandas DataFrame:挖掘高级数据处理技巧
【5月更文挑战第19天】本文介绍了Pandas DataFrame的高级使用技巧,包括数据重塑(如`pivot`和`melt`)、字符串处理(如提取和替换)、日期时间处理(如解析和时间序列操作)、合并与连接(如`merge`和`concat`),以及使用`apply()`应用自定义函数。这些技巧能提升数据处理效率,适用于复杂数据分析任务。推荐进一步学习和探索Pandas的高级功能。
|
5月前
|
索引 Python
Pandas学习笔记之Dataframe
Pandas学习笔记之Dataframe
|
5月前
|
数据挖掘 大数据 数据处理
数据分析师的秘密武器:精通Pandas DataFrame合并与连接技巧
【8月更文挑战第22天】在数据分析中,Pandas库的DataFrame提供高效的数据合并与连接功能。本文通过实例展示如何按员工ID合并基本信息与薪资信息,并介绍如何基于多列(如员工ID与部门ID)进行更复杂的连接操作。通过调整`merge`函数的`how`参数(如'inner'、'outer'等),可实现不同类型的连接。此外,还介绍了使用`join`方法根据索引快速连接数据,这对于处理大数据集尤其有用。掌握这些技巧能显著提升数据分析的能力。
89 1
|
5月前
【Pandas+Python】初始化一个全零的Dataframe
初始化一个100*3的0矩阵,变为Dataframe类型,并为每列赋值一个属性。
67 2
|
5月前
|
SQL 数据采集 JSON
Pandas 使用教程 Series、DataFrame
Pandas 使用教程 Series、DataFrame
79 0