大家好,我是皮皮。
最近发现周围的很多小伙伴们都不太乐意使用pandas,转而投向其他的数据操作库,身为一个数据工作者,基本上是张口pandas,闭口pandas了,故而写下此系列以让更多的小伙伴们爱上pandas。 系列文章说明:
平台:
数据需求这次简单的讲一讲一个小小的数据处理,如何将下图红框部分与蓝框部分数据进行交换。 需求拆解只是将两列的所有数据进行交换那还比较好处理,直接更改各自的列名就行了,现在是交换部分值,思路将一列值拿出来,用另一列进行填充,我们也不用别的方法,上pandas! 构建数据需求处理方法一随便找一列作为mask列,将不符合条件的索引变成True,就能通过布尔取值拿出想要的值。 # map调用函数为自定义条件函数,在这里仅为示例 方法二提到数据的索引交换就不得不把numpy也一起搬出来了。通过.values方法得到narray数组,再根据numpy的索引提取赋值给当前数据框。
可以看到也是可以成功交换的。 df.loc[mask, ['经验', '学历']] = df.loc[mask, ['学历', '经验']] 这行代码运行完会发现无事发生,其原理有点不太明白,可能是视图不能直接赋值吧。。。 总结数据的获取难免会碰到与自己想法不一致的,在这里也是因为数据不在它本来所在的列中,需要进行数据的提取并重新赋值,而在python中直接使用两列进行交换即可,也得益于pandas的数据整合方法非常强大,节省时间来做其他更有意义的事。 冬日的夜晚,星星也还在频频的眨眼,静谧的,祥和的,今晚也一定会有个好梦吧。 于二零二二年元月十二日作 |
|
来自: zZ华 > 《pandas和numpy》