jupylab pandas按条件批量处理xls数据

批量处理xls表数据

引入相关包

import pandas as pd
import xlrd
import numpy as np# 去掉jupyleb警告
import warnings
warnings.filterwarnings("ignore")from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'

读取一个表,按照条件筛选,并统计多少条,并封装成函数,返回值为条数

def qushu(path):#读取xls表中的数据到pandas中wb = xlrd.open_workbook(path, logfile=open(os.devnull, 'w'))df = pd.read_excel(wb)#按照列名   条件   筛选出表中数据data = df[(df['手术类别'] == '手术') | (df['手术类别'] == '介入治疗') ]#将数据中病人重复的只筛选第一个data_drop = data.drop_duplicates(subset=['病案号'],keep=False)#查询符合的条数len_num = data_drop.shape[0]return len_num

pandas函数简介drop_duplicates

函数体:

df.drop_duplicates(subset=['A','B'],keep='first',inplace=True)

主要参数:

subset: 输入要进行去重的列名,默认为None

keep: 可选参数有三个:‘first’、 ‘last’、 False, 默认值 ‘first’。其中,

first表示: 保留第一次出现的重复行,删除后面的重复行。
last表示: 删除重复项,保留最后一次出现。
False表示: 删除所有重复项。
inplace:布尔值,默认为False,是否直接在原数据上删除重复项或删除重复项后返回副本。

批量读取文件

#文件名为1.xls、2.xls、.....
str = "C:/1.xls"#提取每个文件名,这里比较灵活,可以多种方法,我这里有些不妥,可以直接循环拼接字符串
str_split_path = str.split(".")[0]
str_split_path = str_split_path[:-1]num_list = []#将数据存到数组中#循环读取操作xls,并将返回的数据保存在表中
for i in range(1,21):str_all = str_split_path + "{}".format(i) + ".xls"num_1 = qushu(str_all)num_list.append(num_1)print(num_list)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/75490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何利用 Selenium 对已打开的浏览器进行爬虫

大家好! 在对某些网站进行爬虫时,如果该网站做了限制,必须完成登录才能展示数据,而且只能通过短信验证码才能登录 这时候,我们可以通过一个已经开启的浏览器完成登录,然后利用程序继续操作这个浏览器&…

【LeetCode-中等题】39. 组合总和

文章目录 题目方法一:递归回溯 题目 这题的nums数组里面不存在重复元素,所以也就无需做去重操作 但同一个元素可以被无限次取,说明每次递归中的for循环的开始位置就是自己 nums数组里面存在重复元素,去重版本: 方法一…

Git学习记录

Contest 一、工作区域二、操作命令2.1 创建仓库2.2 查看仓库状态2.3 从工作区向暂存区添加文件2.3.1 只添加一个文件2.3.2 添加全部文件 2.4 从暂存区向仓库区添加文件2.5 查询日志2.5.1 从当前版本开始查询2.5.2 查看所有日志 2.6 回滚2.6.1 从仓库回滚到工作区2.6.2 取消工作…

Redis 主从复制 + 哨兵模式 + Cluster 集群

redis群集 redis群集有三种模式: 分别是主从同步/复制、哨兵模式、Cluster,下面会讲解一下三种模式的工作方式,以及如何搭建cluster群集 主从复制: 主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现…

剑指 Offer 04. 二维数组中的查找

题目描述 在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题思路 注意每…

c++中的list容器讲解

文章目录 1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.2.6 list的迭代器失效 2. list的模拟实现2.1 模拟实现list 3. list与vector的对比 1. list的介绍及使用 1.1 list的介绍 …

医疗知识图谱 neo4j

开源项目: https://github.com/liuhuanyong/QASystemOnMedicalKG 一.效果 二.需要安装: pip install pyahocorasick pip install py2neo 三.需要修改: 需要改的点: 1.改连接的方式 2.改读文件的方式 MedicalGraph 运行&am…

docker-compose安装Nacos2

文章目录 一. Mac1.1 数据库nacos_dev1.2 docker-compose.yaml1.3 部署1.4 卸载1.5 查看 二. Win102.1 docker-compose.yaml2.2 部署2.3 卸载 一. Mac 1.1 数据库nacos_dev sql文件地址 /** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache Li…

前端面试的话术集锦第 9 篇:高频考点(webpack性能优化)

这是记录前端面试的话术集锦第九篇博文——高频考点(webpack性能优化),我会不断更新该博文。❗❗❗ 在此章节中,我不会浪费篇幅给大家讲如何写配置文件。如果你想学习这方面的内容,那么完全可以去官网学习。在这部分的内容中,我们会聚焦于以下两个知识点,并且每一个知识…

C语言_指针(1)

文章目录 前言一、指针数组1.1利用指针数组模拟出二维数组 二、数组指针2.1数组名是数组首元素的地址2.2 二维数组传参2.3 一级指针传参2.4 二级指针传参 三. 函数指针四 . typedef 重命名 前言 指针数组是由指针组成的数组。它的每个元素都是一个指针,可以指向任何…

工商银行潍坊分行党建RPA机器人项目解析

01 案例背景:银行业掀起引入RPA加速实现数字化转型的浪潮 近年来,金融科技的蓬勃发展极大促进了银行的业务创新,新技术、新业态层出不穷。随着银行业务和科技的融合逐步落实,银行业务正朝着线上化、智能化转变。科技赋能的转型范…

【管理运筹学】第 7 章 | 图与网络分析(4,最大流问题)

系列文章目录 【管理运筹学】第 7 章 | 图与网络分析(1,图论背景以及基本概念、术语、矩阵表示) 【管理运筹学】第 7 章 | 图与网络分析(2,最小支撑树问题) 【管理运筹学】第 7 章 | 图与网络分析&#xf…

学习笔记-配置备份静态路由及优先级

上一个笔记:学习笔记-静态路由配置有来无回导致无法访问目标IP 拓扑图: 书接上回。 模拟R2至R3之间的链路中断,配置备份路由通过R1访问R3。 shutdown掉R2的gi0/0/2端口,模拟链路中断。pingR3的gi0/0/0和R3的loopback0&#xff…

Java中如何获取一个字符串是什么类型

Java中如何获取一个字符串是什么类型? 在Java中,您可以使用一些方法来确定一个字符串的类型。下面是一些常用的方法: 使用正则表达式:您可以使用正则表达式来匹配字符串是否符合特定的模式或格式,以确定其类型。例如&…

Android——数据存储(二)(二十二)

1. SQLite数据库存储 1.1 知识点 (1)了解SQLite数据库的基本作用; (2)掌握数据库操作辅助类:SQLiteDatabase的使用; (3)可以使用命令操作SQLite数据库; …

Leangoo领歌 -敏捷任务管理软件,任务管理更轻松更透明

​任务管理,简单易懂,就是对任务进行管理。那怎么可以更好进行任务管理呢?怎么样样可以让任务进度可视化,一目了然呢?有效的管理可以让我们事半功倍。 接下来我们看一下如何借助任务管理软件高效的做任务管理。 首先…

Docker搭建RK3568开发环境

推荐:Ubuntu 20.04 版本 Docker加速 # 编辑 Docker 配置文件 $ sudo vim /etc/docker/daemon.json# 加入以下配置项 {"registry-mirrors": ["https://dockerproxy.com","https://hub-mirror.c.163.com","https://mirror.baidu…

Python Opencv实践 - Harris角点检测

参考资料:https://blog.csdn.net/wsp_1138886114/article/details/90415190 import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/chinease_tower.jpg", cv.IMREAD_COLOR) plt.imshow(img[:,:,::-1])#…

【Python】多线程

进程、线程 现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。 进程:就是一个程序,运行在系统之上,那么便称之这个程序为一个运行进程,并分配进程ID…

【echarts】如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案

Echarts 如何修改折线图X轴每个刻度的间隔宽度,让拥挤的空间变大,所有坐标点的文案可以显示得下,Echarts x轴文本内容太长的几种解决方案 有以下几种方案,堪称最全方案: 1、dataZoom进行坐标的比例缩放 通过调整dataZ…