python效率低却_效率低这 8 种 Python 数据处理的技巧你会了吗

在互联网行业中,无论你是开发、运营、数据还是算法,你或多或少都离不开数据。数据处理是一项基本且必要的技能。

在数据处理中,有许多操作使用常规方法可以做,但繁琐且代码臃肿。本文我将介绍 8 种数据处理的技巧,这些技巧几乎涵盖了数据科学所需要的操作。

1、Pivot

Pivot 将创建一个"透视表",该方法将数据中的现有列作为新表的元素(索引、列和值)进行重组,类似 Excel 中的透视表。示意图

代码如下所示df.pivot(index='foo', columns='bar', values='baz')

2、Melt

Melt 可视为 "unpivot",它将基于矩阵的数据(两个维度)转换为基于列表的数据(列表示值,行表示唯一的数据点),看下图更好理解。示意图

代码如下所示df.melt(id_vars=['A'], value_vars=['B','C'])

3、Explode

Explode 是最好用的函数了。当列分解时,列内的所有列自动展开,非列表项不受影响,空列表用 NaN 值表示。示意图

代码如下所示df.explode("A")

4、Stack

Stack 将列"堆叠"为数据列的索引。生成的 DataFrame 只有一列和两个级别的索引,这个在项目中经常使用。示意图

代码如下所示df.stack()

为了获取数据值,只需调用索引两次或者索引转列,如下:df.loc["dog"].loc["height"]

5、Unstack

Unstack 就是 Stack 的患难兄弟了。取消删除多索引并将其拆解,将指定级别的索引转换为具有相应值的列。示意图

6、Merge

合并两个 df 是将它们按列在共享的"密钥"之间合并。此键允许合并表.默认情况下,完成的合并 df 将添加后缀和值列。示意图

代码如下所示df1.merge(df2, left_on='leftkey', right_on='rightkey')

7、Join

Join 通常优先于合并,它具有更简洁的语法和更广泛的可能性,以水平连接两个 DataFrame。Join 的语法如下:df1.join(other=df2, on='common_key', how='join_method')

how 有四种方式,类似SQLleft

right

outer

inner

8、Concat

Merge 和 Join 一般为列合并。而按行合并可以使用 Concat。示意图

代码如下所示pd.concat([df1, df2])

总结

今天列举了数据处理中的最常用的操作,方法看似简单,在工作中能够灵活运用才是关键!

福利时间

今天给大家免费送上3本《趣学Python算法100例》,免费邮寄到家。如果等不及参与活动也可以入手一本。

简介:专为Python初学者量身打造!详解100个趣味编程算法实例,培养编程兴趣,拓宽编程思维,提高编程能力和算法设计能力。实例代码完备,注释详尽,代码均可正常运行,是一本不错的 Python 学习宝典!

参与方式很简单!本篇文章底部点「在看」并「留言」,留言点赞数量最多的前3位(点赞数必须大于等于10个,否则视为失效)将获得这本书。如不满足3位,由号主根据公众号后台数据指定获奖名单。活动截止时间为12月01日20:00,中奖的同学请及时联系我。

PS:欢迎分享身边好友,禁止恶意刷单,发现后本次及以后的参赛资格!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值