【Python】【完整代码】解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)

本文主要是介绍【Python】【完整代码】解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.示例: 

1.1 实现代码1:列数为常量

运行结果:

1.2 实现代码2:列数为变量

运行结果:


1.示例: 

开发需求:读取Excel文件,统计第3列到第5列中每列的"False"字段占比,统计第6列中的"Pass"字段占比,并按每列首行元素名打印出统计占比

1.1 实现代码1:列数为常量

        请确保替换`'your_excel_file.xlsx'`为你实际的Excel文件路径。这段代码会按每列首行元素名打印出第3列到第5列中每列的"False"字段占比,以及第6列中"Pass"字段的占比

#!/usr/bin/env python3
# _*_ coding : UTF-8 _*_
# 开发人员 :jly
# 开发时间 :2024/01/31 18:57:54
# 文件名称 :rate.py
# 开发工具 :Visual Studio Codeimport pandas as pd# 读取Excel文件
file_path = 'result.xlsx'  # 替换成你的Excel文件路径
df = pd.read_excel(file_path)# 定义一个函数用于计算占比
def calculate_percentage(column, target_value):return column.value_counts(normalize=True).get(target_value, 0) * 100def str_percentages():false_percentages = df.iloc[:, 2:5].apply(lambda col: calculate_percentage(col, False), axis=0) # 统计第3列到第5列中每列的"False"字段占比Fail_percentage = calculate_percentage(df.iloc[:, 5], 'Fail')  # 统计第6列中"Fail"字段占比return false_percentages, Fail_percentage# 打印结果
def print_rate():print("第3列到第5列中每列的\"False\"字段占比:")for column_name, percentage in zip(df.columns[2:5], str_percentages()[0]):print(f"False Rate Of {column_name}: {percentage:.2f}%")print("\n第6列中\"Fail\"字段占比:")print(f"Fail Rate Of Result: {str_percentages()[1]:.2f}%")if __name__ == '__main__':print_rate()

运行结果:

1.2 实现代码2:列数为变量

#!/usr/bin/env python3
# _*_ coding : UTF-8 _*_
# 开发人员 :jly
# 开发时间 :2024/01/31 18:57:54
# 文件名称 :rate.py
# 开发工具 :Visual Studio Codeimport pandas as pd# 读取Excel文件
file_path = 'result.xlsx'  # 替换成你的Excel文件路径
df = pd.read_excel(file_path)# 定义一个函数用于计算占比
def calculate_percentage(column, target_value):return column.value_counts(normalize=True).get(target_value, 0) * 100def str_percentages(col_R):false_percentages = df.iloc[:, 2:int("{}".format(col_R))].apply(lambda col: calculate_percentage(col, False), axis=0) # 统计第3列到第5列中每列的"False"字段占比Fail_percentage = calculate_percentage(df.iloc[:, int("{}".format(col_R))], 'Fail')  # 统计第6列中"Fail"字段占比return false_percentages, Fail_percentage# 打印结果
def print_rate(col_R):print("第3列到第col_R列中每列的\"False\"字段占比:")for column_name, percentage in zip(df.columns[2:int("{}".format(col_R))], str_percentages(col_R)[0]):print(f"False Rate Of {column_name}: {percentage:.2f}%")print("\n第col_R列中\"Fail\"字段占比:")print(f"Fail Rate Of Result: {str_percentages(col_R)[1]:.2f}%")if __name__ == '__main__':print_rate(5)  #col_R=最后一列数(6)-1

运行结果:

这篇关于【Python】【完整代码】解析Excel文件内容,按每列首行元素名打印出某个字符串的统计占比(超详细)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/674652

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

解析 XML 和 INI

XML 1.TinyXML库 TinyXML是一个C++的XML解析库  使用介绍: https://www.cnblogs.com/mythou/archive/2011/11/27/2265169.html    使用的时候,只要把 tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.

Mac excel 同时冻结首行和首列

1. 选择B2窗格 2. 选择视图 3. 选择冻结窗格 最后首行和首列的分割线加粗了就表示成功了

VMware9.0详细安装

双击VMware-workstation-full-9.0.0-812388.exe文件: 直接点Next; 这里,我选择了Typical(标准安装)。 因为服务器上只要C盘,所以我选择安装在C盘下的vmware文件夹下面,然后点击Next; 这里我把√取消了,每次启动不检查更新。然后Next; 点击Next; 创建快捷方式等,点击Next; 继续Cont

公共筛选组件(二次封装antd)支持代码提示

如果项目是基于antd组件库为基础搭建,可使用此公共筛选组件 使用到的库 npm i antdnpm i lodash-esnpm i @types/lodash-es -D /components/CommonSearch index.tsx import React from 'react';import { Button, Card, Form } from 'antd'

17.用300行代码手写初体验Spring V1.0版本

1.1.课程目标 1、了解看源码最有效的方式,先猜测后验证,不要一开始就去调试代码。 2、浓缩就是精华,用 300行最简洁的代码 提炼Spring的基本设计思想。 3、掌握Spring框架的基本脉络。 1.2.内容定位 1、 具有1年以上的SpringMVC使用经验。 2、 希望深入了解Spring源码的人群,对 Spring有一个整体的宏观感受。 3、 全程手写实现SpringM

2390.从字符串中移除星号

给你一个包含若干星号 * 的字符串 s 。 在一步操作中,你可以: 选中 s 中的一个星号。 移除星号左侧最近的那个非星号字符,并移除该星号自身。 返回移除 所有 星号之后的字符串。 注意: 生成的输入保证总是可以执行题面中描述的操作。 可以证明结果字符串是唯一的。 示例 1: 输入:s = “leet**cod*e” 输出:“lecoe” 解释:从左到右执行移除操作: 距离第 1 个

Python 字符串占位

在Python中,可以使用字符串的格式化方法来实现字符串的占位。常见的方法有百分号操作符 % 以及 str.format() 方法 百分号操作符 % name = "张三"age = 20message = "我叫%s,今年%d岁。" % (name, age)print(message) # 我叫张三,今年20岁。 str.format() 方法 name = "张三"age

(超详细)YOLOV7改进-Soft-NMS(支持多种IoU变种选择)

1.在until/general.py文件最后加上下面代码 2.在general.py里面找到这代码,修改这两个地方 3.之后直接运行即可

代码随想录算法训练营:12/60

非科班学习算法day12 | LeetCode150:逆波兰表达式 ,Leetcode239: 滑动窗口最大值  目录 介绍 一、基础概念补充: 1.c++字符串转为数字 1. std::stoi, std::stol, std::stoll, std::stoul, std::stoull(最常用) 2. std::stringstream 3. std::atoi, std