0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据处理中最强有力也最流行的工具之一:Pandas!

Tensorflowers 来源:未知 作者:李倩 2018-06-20 10:09 次阅读

大熊猫是全竹宴美食家中的饕餮,亦是十足的瞌睡虫。不过它们还身怀一项隐秘技能:(不遗余力吞噬下)大量的数据。今天将要介绍的就是数据处理中最强有力也最流行的工具之一:Pandas!

当人们谈到数据科学,往往不会立即想到 Pandas。这些黑白相间憨态可掬的大熊猫总是把时间消耗在吃和睡上面,而不是钻研数据相关的研究。但今天我们就是要用 Pandas 对付候选数据集,然后准备好下一步用于机器学习。我没法在一期视频中介绍整个 Pandas 库,但是所幸我能在这期概述中给你一些帮助,让你能自行去深入探索 Pandas 的世界。

我吃我吃我吃吃吃!数据集就是我的竹子,别和我抢!

Pandas 是一个低学习成本高性能的数据结构和数据分析工具。抛开大熊猫憨态可掬的样子不说,「Pandas」这个名字来源于术语「panel data」,指的是统计和计量经济学上的多维数据。

要安装 Pandas,只需在 Python 环境中执行 pip install pandas 命令就可以了。之后只需要在代码中引入 Pandas:import pandas as pd。

人们用 Pandas 时往往都会用到 pd.read_csv 来读入 CSV 文件中的数据。这也常常是人们使用时落笔的第一点墨。

pd.read_csv 会将数据载入一个 DataFrame 中。它本质上是一张电子表格或是数据表。我们可以通过在 DataFrame 调用 head() 来粗略察看数据集中的概况。

DataFrames 中有一行一行数据,这些数据的列首都是经过命名的,这些命名后的列又被称为「序列」。

我最喜欢的 DataFrames 的一些特性当中,有一个函数叫做 describe(),这个函数会罗列出你的 DataFrame 的一些相关数据。这个函数有助于你检查数据集,思考其中的数据分布是否合理,也可以检验是否各项属性都符合预期。

有时候我会用 Pandas 来扰乱数据。有时候你想要打乱所有数据,而不是仅仅释出数据时取用首部那一点点数据,那么这时 Pandas 就很有用了。比如,假使你的数据处于完全有序的状态,没有丝毫混乱,此时你可能就需要进行一些额外的混合、扰乱操作了。

然而,对于那些无法放进内存里的大型数据集,这么做实在不太明智。也许应该试试更高明点的法子来处理。

处理列

要处理数据集中单独的某一列,只需使用括号来标注出那一列,将该列的名字作为参数传入即可。如果你不清楚有哪些具体的列名称,那么可以回过头看看 .describe() 输出的内容或者用 .columns 以数组形式输出 DataFrame 中所有的列名称。

处理行

处理行的方法与处理列不尽相同。比如,如果我们要想得到某个 DataFrame 中索引为 i 的行,需要使用 .iloc[i] 得到该行数据。

索引为 5,表示这是第 6 行

记住 Pandas 是以 0 作为索引起点的,所以数据中的第一行对应着索引 0。

同时处理行和列

有时你会想要得到某一指定的行、列的数据。由于行列的访问方式不同,我们需要结合上面讲到的两种方式:

当然,你也可以交换两者的访问顺序,比如 csv_data.iloc[5][‘sepal_len’]。不过,相较之下我觉得这样一来可读性就变差了。

某个行/列范围

真正有意思的是当你要处理某个行列范围内数据的时候。

对于列,一个列范围只需要用一个列名称的数组来指定。

如果要挨着输入的列名字太多太复杂,那么可以直接使用 csv_data.columns 得到列名称数组后,取数组中某个范围作为列索引的值即可。

本来这两列我可以直接输入进去的,不过你明白我的意思就好

如果要得到某个范围内的行怎么办?我们用冒号作为 .iloc 之后的括号内中的分隔符来表达即可。

起始索引已经被包括在内了,而终止索引却被忽略了。注意,返回的是索引为 5、6、7、8、9 的行,而不包含索引为 10 的行。

混合行、列范围选择

我们想要的是行的一个子集和列的一个子集,该怎么做?我们把上面谈到的各类方法结合起来:

首先,得到所需的列名数组:

cols_2_4 = csv_data.column[2:4]

然后是所有所需的列:

df_cols_2_4 = df[cols_2_4]

选择这些列中的指定行:

df_cols_2_4.iloc[5:10]

如果你非常熟练了,完全可以把上面三步结合成一步:

csv_data[csv_data.columns[2:4]].iloc[5:10]

我希望你能先暂停视频回头想想这个表达式的等价形式。我不会走开,一直在这儿等你。

小结几句

Pandas 中的链式操作不仅会让数据处理更快,同时当你熟练之后,代码可读性也会显著提高。

我们已经看过一些 DataFrame 的处理了,但是 Pandas 所衍生的一整套工具却远远不止这些。从高效的 PyTables 和 HDF5 式文件存储到进行统计学分析,处处遍布 Pandas 的身影。

稍后就试着去用一下 Pandas 吧,定会让你满意!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8061

    浏览量

    130439
  • python
    +关注

    关注

    51

    文章

    4657

    浏览量

    83378
  • 数据科学
    +关注

    关注

    0

    文章

    163

    浏览量

    9977

原文标题:AIA 系列 | 难以置信,大熊猫还能吃数据?

文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    阿里云与WPS深度合作,开放数据处理生态

    处理应用,文档处理应用开放了接入能力。目前通过智能媒体管理支持图像识别、人脸检测、视频截帧、图片处理、文档预览、文本检索等多项数据处理能力,为上层应用提供
    发表于 04-18 14:11

    pandas数据分析常见操作

    数据分析-pandas数据处理清洗常用总结
    发表于 08-08 06:46

    pandas对babynames数据集的简单处理

    利用Python进行数据分析——第二章 引言(2):利用pandas对babynames数据集进行简单处理
    发表于 08-09 12:58

    pandas是什么?

    的大概内容:例如:随着人工智能的不断发展,机器学习这门技术越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考pandas是什么?示例:
    发表于 07-14 07:48

    pandas是什么

    人工智能的不断发展,机器学习这门技术越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考pandas是什么?示例:pan
    发表于 08-09 07:39

    pandas使用步骤

    、使用步骤1.引入库2.读入数据总结前言STM32被广泛应用在控制领域,本此选用STM32F407进行电机实验,此单片机是基于arm-cortem4为核心。pandas是什么?示例:pan
    发表于 08-10 07:50

    基于NumPy的pandas工具

    pandas 是基于NumPy 的工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import n
    发表于 08-16 08:47

    如何去使用pandas工具

    文章目录前言pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术越来越重要,很多人
    发表于 08-24 06:49

    pandas是什么?

    人工智能的不断发展,机器学习这门技术越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考pandas是什么?示例:pan
    发表于 01-12 07:53

    pandas的使用步骤有哪些呢

    文章目录前言pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术越来越重要,很多人
    发表于 01-12 07:18

    pandas读取csv文件有什么方法和注意点?

    这篇文章介绍了利用数据分析工具pandas读取csv文件的方法和注意点,便于迅速过渡到数据处理阶段。pandas是一个高效的
    的头像 发表于 07-21 10:00 9443次阅读
    <b class='flag-5'>pandas</b>读取csv文件有什么方法和注意点?

    pandas的快速入门介绍

    pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的
    发表于 06-03 08:00 0次下载
    <b class='flag-5'>pandas</b>的快速入门介绍

    Python工具pandas筛选数据的15个常用技巧

    pandas是Python数据分析必备工具,它有强大的数据清洗能力,往往能用非常少的代码实现较复杂的数据处理 今天,总结了
    的头像 发表于 03-30 10:44 2596次阅读
    Python<b class='flag-5'>工具</b><b class='flag-5'>pandas</b>筛选<b class='flag-5'>数据</b>的15个常用技巧

    数据处理pandas的groupby小技巧

    pandas的groupby是数据处理中一个非常强大的功能。虽然很多同学已已经非常熟悉了,但有些小技巧还是要和大家普及一下的。为了给大家演示,我们采用一个公开的数据集进行说明。 import
    的头像 发表于 04-09 11:34 2154次阅读

    Pandas:Python中最好的数据分析工具

    Pandas绝对是Python中最好的数据分析工具,不接受反驳。 本文将展示如何美化 Pandas DataFrame 中的数字,并使用一些
    的头像 发表于 10-31 10:47 195次阅读
    <b class='flag-5'>Pandas</b>:Python<b class='flag-5'>中最</b>好的<b class='flag-5'>数据</b>分析<b class='flag-5'>工具</b>