pandas 根据筛选条件对指定excel列进行筛选
pandas 根据筛选条件对指定excel列进行筛选
- 导入需要筛选的excel和筛选条件
- 要筛选的表格A
- 思路
- 结果
这两天老师要求筛选一下最近几年学院发表的文章,从图书馆那要了份数据量较大的excel,将该excel分成学生文章、老师文章两份excel,以第一作者为区分,B站学习法稍微补了补python操作excel,看到pandas就顺手用一下了……大佬勿喷,仅仅是稍微学了一下。
导入需要筛选的excel和筛选条件
import pandas as pddf = pd.read_excel('D:/py_project/datafenxi/scut.xls',sheet_name='savedrecs')
ji_he = {'name1','name2','name3',任意多个name}
这里的ji_he是提供的学院所有老师的姓名,与下面的要筛选的表格A做匹配,标记出A中一作为老师的论文。那剩下的未标记就是学生。
要筛选的表格A
excel内容大概长这样(对不起!杰伦力宏紫棋):
ID | Author Full Names | 发了什么期刊、日期等等 |
---|---|---|
0 | Zhou, Jielun;Peng, Yuyan;Li, Bai;Xiu, Er | xxxx |
1 | Wang, Lihong;Zhang, San;Li, Si | xxxx |
2 | Deng, Ziqi ;Wang, Wu | xxxx |
这里一作就是杰伦,力宏,和紫棋。
思路
1、由于我们只要第一作者,所以对要筛选的表格A的Author Full Names列进行遍历,按;分割成数组取第0个元素,因为拿到的表格一作的格式千奇百怪,还有-等等莫名字符,所以稍微改了下。
2、拿到的每行A表格的一作名字,与指定老师名单做匹配,True则记录下该索引ID,并给值teacher创建sheet1
3、使用merg()将要筛选的表格A与sheet1做匹配整合成一张表。
while i < len(df):a = df.loc[i, 'Author Full Names'] # 取出Author Full Names列的第i行a1 = str(a).split(';')[0].replace('-', '') # 筛选第i行AFN列的内容,按;分割成数组取第0个元素,删除-字符返回a1# print('q', a1)if a1 in ji_he:print('qq', i) # 获取匹配的索引df3.loc[i] = ['teacher'] # 给匹配出来的一作老师标上teacherdf3.to_excel("D:/py_project/datafenxi/outputscut.xls") # 输出为新的列表i += 1
这里我们可以拿到一个根据A匹配出来的一作是老师身份的索引表sheet1,like this:
然后用merge()根据ID将两份表拼成一份完整表,就基本完成需求了(分成两份表我直接选择excel做透视了,又懒又菜说的就是我)
import pandas as pdsheet1 = pd.read_excel('D:/py_project/datafenxi/scut.xls', sheet_name='savedrecs', index_col='ID')
sheet2 = pd.read_excel('D:/py_project/datafenxi/scut.xls', sheet_name='Sheet1', index_col='ID')table = sheet1.merge(sheet2, how='left', on='ID')
table.to_excel("D:/py_project/datafenxi/outputfinal.xls")
print(table)
结果
这部分语法可以参考B站视频 Link,记得把两个sheet放在一个excel里面(其实我看到了其他大佬直接将多个sheet输出在一个excel,但我没时间改了,之后看看。)
以下是最终结果,表格最右边区分身份:teacher,空为student。
pandas 根据筛选条件对指定excel列进行筛选相关推荐
- Pandas根据筛选条件对指定excel列进行筛选!神器!
这两天老师要求筛选一下最近几年学院发表的文章,从图书馆那要了份数据量较大的excel,将该excel分成学生文章.老师文章两份excel,以第一作者为区分,B站学习法稍微补了补python操作exce ...
- R语言dataframe计算满足筛选条件的行的个数(筛选满足条件的数据行并计数):类似于excel的countif函数
R语言dataframe计算满足筛选条件的行的个数(筛选满足条件的数据行并计数):类似于excel的countif函数 目录
- 学python看什么书好1002无标题-如何使用pandas读取txt文件中指定的列(有无标题)
最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...
- python按列读取txt文件_如何使用pandas读取txt文件中指定的列(有无标题)
最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...
- python读取指定路径txt文件-如何使用pandas读取txt文件中指定的列(有无标题)
最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...
- python 按列名称筛选_python中实现excel的高级筛选
一 Excel里的高级筛选功能,着实令人惊叹,VBA里实现起来也相对简单,就是手动操作的代码化,设置好三项参数,便可以随取随用,效果稳准快. 二 在python 中实现同样的目的,更为直白爽快,不信你 ...
- [Pandas] 相同分组条件下的特定列除第一行以外的值为空
美图欣赏2022/07/16 在最近的需求开发中,针对原有逻辑进行开发,导出的Excel数据如下所示: 提示: 以上数据仅为Demo数据,其中site和material分组后,如果两者数值分为同一组别 ...
- input=file 浏览时只显示指定excel文件,筛选特定文件类型
https://www.cnblogs.com/quitpoison/p/9765974.html
- python对excel进行筛选-python如何实现excel按颜色筛选功能
离岛 2020-07-09 09:37 已采纳 不太了解具体需求,提供一些示例代码和思路供你参考: 整体思路:首先已知excel中的颜色值,根据编码实现颜色筛选的功能 示例: 1.首先安装pip in ...
最新文章
- 一般能达到多少_实话实说:一般家庭存款有多少?你又达到标准了吗?
- 关于Android中的onCreate()多次被调用导致bindService被多次调用的问题...
- OpenCASCADE:适用于 Android 的 OCCT AndroidQt 示例
- kubectl技巧之查看资源列表,资源版本和资源schema配置
- 水文分析提取河网_基于图的河网段地理信息分析排序算法
- pyqt按钮关闭窗口_PyQt5按钮单击事件,退出程序
- 运算均值方差_Python数据分析之NumPy(运算篇)
- 字符串匹配——RabinKarp算法
- iPhone 12包装盒设计曝光,没充电器没耳机实锤?
- 07.计算Nova→2.nova组件详解→2.nova-scheduler
- android圆图,Android实现圆形图片或者圆角图片
- 基于HT for Web的3D树的实现
- Java实用教程(第5版)参考答案
- FPGA——HLS编程入门
- 【VB+数控原理与系统】数控原理与系统课程设计刀具半径补偿直线-直线VB模拟软件实现
- shell命令进制转换
- 网站排名不好的解决方法
- 微信公众平台服务号与订阅号区别详解
- python开发前景如何
- 如何在element-plus配套vue3中使用日期时间选择器默认英文修改为中文
热门文章
- 华硕Android原始密码,华硕路由器默认密码是多少?ASUS路由器初始密码介绍
- SPI Flash芯片W25Q32英文版数据手册解读(一)---------引脚功能,工作模式
- 多硬盘分区管理fdisk
- 发布本人整理的面试问题大全,为准备找工作的同行们尽一份力!希望大家多补充或回答!
- 小白专属:大数据总纲_大数据路线_高屋建瓴的体验大数据的世界
- 冰蝎v4.0已经更新,在Java18下也能启动冰蝎。
- Liunx查看系统版本
- 三星和华为均发布了5G手机芯片,谁的性能更强?
- 《数据分析-SmartChart02》SmartChart低代码平台-可视化开发
- 1269: 爱看电视的LsF+遥控器 dfs+剪枝