pandas常用操作复习-03-列位置移动
前情提要
何老师已经得到了需要的数据,接下来他将要进行的操作就是对他们进行求和。以及进行排名之类的。但是他发现一个重大的问题:学生属于哪个班级在最后一列,这样很不方便。
学号 | 姓名 | 语文 | …… | 体育 | 班级 |
---|---|---|---|---|---|
A01 | 饶秀颖 | 35 | …… | 95 | 1班 |
A02 | 于俊远 | 38 | …… | 95 | 1班 |
A03 | 王五 | 54 | …… | 97 | 1班 |
A08 | 冉颇 | 34 | …… | 99 | 3班 |
A09 | 夫余岚裳 | 43 | …… | 94 | 3班 |
A10 | 薛菁 | 55 | …… | 96 | 3班 |
他的想法是,班级这一列的位置应该在学号和姓名的后面,而不是在整个列表的最后面。因为我们等下需要进行求和运算,求和得到的值也会添加在最后面。但倘若所有的后续内容都一致添加在最后,难免会显得表格很累赘。因此我们需要移动班级的位置。
数据及运行平台
数据使用的是上一个步骤中获得Excel表格,其内容展示出来就如前情提要中的图所示。
实际操作
1.导入模块
import pandas as pd
import pathlib
2.导入文件
不同于上一节中的有五个Excel文件,因此我们首先锁定了他们所在文件夹,然后将它们遍历出来,这里我们只有一个socre.xlsx文件,因此我们直接设定文件目录即可。
file_path = pathlib.Path("/content/drive/MyDrive/Notebooks_data/score.xlsx")
file_path
out
PosixPath('/content/drive/MyDrive/Notebooks_data/score.xlsx')
3.读取文件
score = pd.read_excel(file_path)
score
out
学号 | 姓名 | 语文 | 数学 | 英语 | 音乐 | 美术 | 体育 | 班级 |
---|---|---|---|---|---|---|---|---|
A01 | 饶秀颖 | 35 | 45 | 55 | 95 | 95 | 95 | 1班 |
A02 | 于俊远 | 38 | 53 | 46 | 97 | 98 | 95 | 1班 |
A03 | 王五 | 54 | 46 | 38 | 97 | 99 | 97 | 1班 |
A08 | 冉颇 | 34 | 54 | 60 | 96 | 98 | 99 | 3班 |
A09 | 夫余岚裳 | 43 | 57 | 67 | 98 | 95 | 94 | 3班 |
A10 | 薛菁 | 55 | 60 | 65 | 96 | 93 | 96 | 3班 |
列位置移动操作-pop-insert
根据网上主流的方法有两种,一种是获取列columns的列名,然后对列名进行排列后再利用.ix方法。另一种是先将要转移的列的值赋给一个中间变量mid后,将这一列删除,再利用insert方法将中间变量插入到指定位置。
这里我们采用第二种方法
# 不管是.pop还是.insert都是原地操作,运行以后原数据也会改变 # pop是从原数据中剔除的dataframe中指定的列,可以将之赋值给中间变量 mid_data = score.pop("班级") # .insert(插入位置,命名列名,列数据) score.insert(2, "班级", mid_data) score
out
学号 | 姓名 | 班级 | 语文 | 数学 | 英语 | 音乐 | 美术 | 体育 |
---|---|---|---|---|---|---|---|---|
A01 | 饶秀颖 | 1班 | 35 | 45 | 55 | 95 | 95 | 95 |
A02 | 于俊远 | 1班 | 38 | 53 | 46 | 97 | 98 | 95 |
A03 | 王五 | 1班 | 54 | 46 | 38 | 97 | 99 | 97 |
A08 | 冉颇 | 3班 | 34 | 54 | 60 | 96 | 98 | 99 |
A09 | 夫余岚裳 | 3班 | 43 | 57 | 67 | 98 | 95 | 94 |
A10 | 薛菁 | 3班 | 55 | 60 | 65 | 96 | 93 | 96 |
保存文件
score.to_excel("/content/drive/MyDrive/Notebooks_data/score.xlsx", index=False)
后记
下一节补充一点删除行列的操作。因为发现这一节提到了pop。
致谢链接
pandas dataframe 列移动
pandas 如何移动列的位置
更改pandas dataframe中两列的位置
-
本文作者:小澳子
本文链接:https://www.cnblogs.com/xiaoaozi/p/15869430.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步