Python怎么指定列前置

发布时间:2021-11-23 11:41:19 作者:iii
来源:亿速云 阅读:224

这篇文章主要讲解了“Python怎么指定列前置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么指定列前置”吧!

问题

有位小伙伴提了一个简单的问题,数据如下:

Python怎么指定列前置  

 

前提

我们需要知道一些前提知识。

pandas 中怎么指定列顺序?非常简单:

Python怎么指定列前置  

pandas 中怎么获取表的所有列名:

Python怎么指定列前置  

如何拼接 Python 中的2个列表:

Python怎么指定列前置  

理解这两点后,现在的问题其实不是什么 pandas 或 啥表头的顺序问题,而是一个列表构造问题:

Python怎么指定列前置  

接下来,基于这些前提条件和思路,看看能做出多少种解法


 

解法1

这是最直接的方式:

Python怎么指定列前置  

如果你不熟悉推导式,也可以用 for in 遍历

"我不懂啥推导式呀,遍历也用得不熟悉,有没有不用遍历的方式?"


 

解法2

"Python 不是一直声称语法简单吗,为什么不可以把 2 个列表相减,就得到剩余列名?"

这想法还挺有道理的,为什么不呢?

因为列表中的元素是可以重复的,如果 2 个列表能相减,他就要考虑有重复元素与没有重复元素的歧义

因此,列表是不能相减,但是 Python 中的确有一种东西与列表相似,但他里面的元素不能重复—— set(集)

由此我们可以得到第二种解法:

Python怎么指定列前置  

细心的你可能注意到,出来的结果中,其他列的顺序与解法1不一样!

因为 set 是不关心元素顺序的,2 个 set 相减后,顺序变化了

"有没有不同遍历,有可以保留其他列的原始前后顺序的?"


 

解法3

前面的解法,本质上都在做去重工作。pandas 中不也有去重功能吗,我们也可以用上。

Python怎么指定列前置  

"有问题啊,new_cols 是列表?,不应该是一个 Series 吗?为什么 df[一个Series] 也能改变列顺序?"

实际上,df[] 里面可以接受大多数序列,比如 set 或 numpy 的数组等等,唯独元组不行

感谢各位的阅读,以上就是“Python怎么指定列前置”的内容了,经过本文的学习后,相信大家对Python怎么指定列前置这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 搜索前置服务架构
  2. 使用python怎么提取文件的指定列

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Zabbix如何添加自己需要监控的项

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》