3大鲜为人知的Pandas函数,你知道吗?

559 篇文章 5 订阅

全文共1490字,预计学习时长5分钟

图源:Unsplash

Pandas是一个神奇的库,可用于数据分析,甚至是数据可视化。

早期小芯的文章介绍了Pandas常用的一些函数,今天小芯会集中介绍Panda中更有用的函数,这些函数让小芯在工作中像个彻头彻尾的蠢蛋。

 

大家可能会好奇为什么会这样。好吧,我很懒,在编写代码前不喜欢使用谷歌搜索,所以我甚至不知道有这些函数的存在。

 

最终结果可以说令人沮丧。小芯设法得出所需的逻辑,但是不仅花费了很长时间,还长出了白发,当然也写了很多不必要的代码。

图源:Unsplash

为什么要写一篇针对Pandas常用函数的文章呢?

 

因为它们:

 

• 可以保持代码干净

• 不会浪费时间做重复的工作

 

下面,小芯就为大家带来3大鲜为人知的Pandas函数:

 

1. nsmallest() 和nlargest()

 

我猜想大家仅凭名称就能知道这两个函数的意义。假设创建以下数据帧DataFrame对象:

 

 

假设此时有5个观测点,即一场考试后的部分成绩结果。。现在需要找出哪3位学生的学习成绩最差:

 

或哪3位学生的学习成绩最好:

 

这两个函数则可以巧妙地替代sort_values()之类的函数。

 

2. idxmin() 和idxmax()

 

是的,小芯知道过去的文章中已经涵盖这些内容,但是对于本文来说,它们是必不可少的组成部分。如果不了解这些函数,那么也无法理解下一个有用的功能,所以言归正传吧!。

 

简而言之,这些函数将返回所需条目的ID(索引位置)。假设创建了以下序列:

 

 

希望找到最小和最大项的索引位置。当然,仅通过查看就可以发现这一点,但是这样就不能利用最少的数据来完成项目

 

所以就需要利用idxmin()和idxmax()函数,如下所示:

 

 

 

 

请记住,这些函数将返回至第一次出现的最小/最大值的索引。

 

3. ne()

 

这一函数对我来说是一个很大的启示。前一段时间,我在处理一些工作中的时间序列数据时,遇到过前n个观测值为0的情况。

 

为了简单起见,试想一下可能购买了某物但在一段时间内并未消耗的情况。拥有该物品,但由于没有使用,所以给定日期的消耗量为0。由于只关注实际使用的情况,所以一旦实际开始使用该物品,ne()函数会发挥重要作用。

 

试想以下情况:现有一个Pandas 数据帧对象,开始时的观测值为0:

 

 

 

现在,如果当前值不是指定值(假设为0),则ne()会返回True,否则返回False:

 

 

 

这本身并没有多大用处。还记得我说过需要了解idxmax()才能理解这一点吗?这并非虚言,可以将idxmax()链接到上面的代码中:

 

 

 

因此,在索引位置6,可以得到第一个非零的观测值。但这也并未有什么重大意义。但是好消息是可以使用此信息来对数据帧进行子集化以仅显示首次使用该项时的值:

 

 

 

这样就可以很方便地处理好时间序列数据。

图源:Unsplash

其实Pandas还有许多好用的函数等着大家去挖掘和运用,这些函数可以大大节省大家的时间。

 

如果大家有什么好用又喜欢的Pandas函数,记得在评论区里分享哟~

 

 

 

留言 点赞 关注

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值