一道 python 数据分析的题目

python 数据分析的题目。

做题方法:使用 pandas 读取数据,然后分析。

知识点:pandas,正则表达式,py知识。

过程:不断使用 GPT,遇到有问题的地方自己分析,把分析的结果告诉 GPT,注意要使用 Data Analysis,中文效果不是很好。

在这里插入图片描述

import pandas as pd
import hashlib
import re
from datetime import datetimedef load_csv(file_path):return pd.read_csv(file_path)def preprocess_a_table(a_table):account_table_map = {}for _, row in a_table.iterrows():account = row['账号']table = row['操作表']if account not in account_table_map:account_table_map[account] = set()account_table_map[account].add(table)return account_table_map#  row 是b表
def is_valid_operation(row, a_table, account_table_map):account = row['账号']operation = row['执行操作'].lower()# Extracting table name and operation typetable_name_match = re.search(r'from (\w+)', operation) or re.search(r'into (\w+)', operation) or re.search(r'update (\w+)', operation)table_name = table_name_match.group(1) if table_name_match else Noneoperation_type_match = re.match(r'(\w+)', operation)operation_type = operation_type_match.group(1) if operation_type_match else None# Check if account is not in account_table_map or if the table_name is not in the account's permissible tablesif account not in account_table_map or (table_name and table_name not in account_table_map[account]):return '0_' + str(row['编号'])# Check for time and permission violationsfor _, account_row in a_table[a_table['账号'] == account].iterrows():if account_row['操作表'] == table_name:# Time checkoperation_time = datetime.strptime(row['操作时间'], '%Y/%m/%d %H:%M:%S').time()start_time, end_time = account_row['可操作时间段(时:分:秒)'].split('~')start_time = datetime.strptime(start_time, '%H:%M:%S').time()end_time = datetime.strptime(end_time, '%H:%M:%S').time()if not (start_time <= operation_time <= end_time):return str(account_row['编号']) + '_' + str(row['编号'])  # Time violation# Permission checkpermissions = account_row['权限'].split(',')if operation_type and operation_type not in permissions:return str(account_row['编号']) + '_' + str(row['编号'])  # Permission violationreturn Nonedef custom_sort(violation):parts = violation.split('_')return (int(parts[0]), int(parts[1]))def main():a_table_path = '../iris_data/a_table_test.csv'b_table_path = '../iris_data/b_table_test.csv'a_table = load_csv(a_table_path)b_table = load_csv(b_table_path)account_table_map = preprocess_a_table(a_table)violations = []for _, row in b_table.iterrows():violation = is_valid_operation(row, a_table, account_table_map)if violation:violations.append(violation)# Sort the violations based on the numerical part after the underscoreviolations_sorted = sorted(violations, key=custom_sort)# Join the sorted list into a stringviolations_joined = ','.join(violations_sorted)# Calculate MD5 hashmd5_hash = hashlib.md5(violations_joined.encode()).hexdigest()print(f"Sorted Violations: {violations_joined}")print(f"MD5 Hash: {md5_hash}")if __name__ == "__main__":main()

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

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

相关文章

深入了解HTTP与HTTPS关键差异与底层原理

文章目录 历史发展HTTP的历史发展&#xff1a;HTTPS的历史发展&#xff1a; HTTP与HTTPS的区别和联系HTTP与HTTPS的底层原理HTTP的底层原理&#xff1a;HTTPS的底层原理&#xff1a; HTTP与HTTPS的协议组成HTTP协议的组成部分&#xff1a;HTTPS协议的组成部分&#xff1a;TLS&a…

Java多线程入门

进程与线程 **进程&#xff1a;**每个进程都有独立的代码和数据空间&#xff08;进程上下文&#xff09;&#xff0c;进程间的切换会有较大的开销&#xff0c;一个进程包含1–n个线程。&#xff08;进程是资源分配的最小单位&#xff09; **线程&#xff1a;**同一类线程共享代…

点成方案丨使用细胞计数仪监控CAR-T细胞疗法的生产

一、概述 嵌合抗原受体&#xff08;CAR&#xff09;是经过改造后赋予T细胞靶向特定抗原的新能力的受体蛋白。这些受体是嵌合的&#xff0c;因为它们将抗原结合和T细胞激活功能结合到一个受体中。CAR-T细胞疗法使用经过CAR改造的T细胞来治疗癌症。CAR-T免疫疗法的前提是修改T细…

PHP原生类总结利用

SPL介绍 SPL就是Standard PHP Library的缩写。据手册显示&#xff0c;SPL是用于解决典型问题(standard problems)的一组接口与类的集合。打开手册&#xff0c;正如上面的定义一样&#xff0c;有许多封装好的类。因为是要解决典型问题&#xff0c;免不了有一些处理文件…

如何使用iPhone15在办公室观看家里电脑上的4k电影?

如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f; 文章目录 如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f;1.使用环境要求&#xff1a;2.下载群晖videostation&#xff1a;3.公网访问本地群晖videostation中的电影&#xff1a;4.公网条件下使用电脑…

论文浅尝 | 用于开放式文本生成的事实增强语言模型

笔记整理&#xff1a;李煜&#xff0c;东南大学硕士&#xff0c;研究方向为知识图谱 链接&#xff1a;https://proceedings.neurips.cc/paper_files/paper/2022/hash/df438caa36714f69277daa92d608dd63-Abstract-Conference.html 1. 动机 生成式语言模型&#xff08;例如 GPT-3…

CNCC 2023收官,Milvus Cloud与行业大咖共话向量数据库系统

近期,CNCC 2023 在沈阳圆满结束,紧凑、前沿的 129 场技术论坛让人印象深刻。据悉,这 129 场技术论坛涵盖人工智能、安全、计算+、软件工程、教育、网络、芯片、云计算等 30 余个方向。Zilliz 受邀参与【智能时代的大数据系统】技术论坛。 智能时代的到来,无疑给社会经济和日…

【深度学习】SimSwap: An Efficient Framework For High Fidelity Face Swapping 换脸,实战

代码&#xff1a;https://github.com/neuralchen/SimSwap 文章目录 摘要介绍RELATED WORK实验结论代码实操 SimSwap是一个高保真度人脸交换的高效框架。它将源脸的身份转移到目标脸上&#xff0c;同时保留目标脸的属性。该框架包括ID注入模块&#xff08;IIM&#xff09;&#…

linux网络流量数据统计

两种方法&#xff1a; 1.ifcong来进行获取 2. [rootnode1 shell]# cat /proc/net/dev Inter-| Receive | Transmitface |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo co…

Avatar虚拟形象解决方案,趣味化的视频拍摄与直播新体验

企业们正在寻找新的方式来吸引和保持观众的注意力,一种新兴的解决方案就是使用Avatar虚拟形象技术&#xff0c;这种技术可以让用户在视频拍摄或直播场景中&#xff0c;以自定义的数字人形象出现&#xff0c;同时保持所有的表情和脸部驱动。美摄科技正是这个领域的领军者&#x…

Redhat Linux v8.2 实时内核环境配置及参数调优

Redhat-Linux V8.2 实时内核环境配置及参数调优 -------物理机 & 虚拟机 一、前言 本文档包含有关Redhat Linux for Real Time的基本安装和调试信息。许多行业和组织需要极高性能的计算&#xff0c;并且可能需要低且可预测的延迟&#xff0c;尤其是在金融和电信行业中。延…

[RK-Linux] updateEngine工具使用以及代码分析

Rockchip Linux 平台支持两种启动方案,Recovery 模式和Linux A/B 模式: Recovery 模式,设备上有一个单独的分区(recovery)用于升级操作。Linux A/B 模式,设备上有两套固件,可切换使用。两种启动方案的对比如下: 升级方案代码路径是否支持Recovey启动模式升级是否支持A/B启…

【工艺库】SMIC数字后端工艺库

工艺库文件 Calibredigital文件夹apollolefprimetimesynopsys TD系列文件夹 本来是想找一个工艺库&#xff0c;想要其包含逻辑综合和SPICE Model相关的库文件&#xff0c;但是找了很久也没有直接找到想要的&#xff0c;主要原因还是自己对工艺库文件的构成不是很清楚&#xff0…

小程序样式问题

小程序切换下一个文章或者页面&#xff0c;淡入淡出效果 // detail.js getArticleData: function(articleId) {// 开始淡出效果this.animate(.detail-page, [{ opacity: 1.0, ease: ease-out },{ opacity: 0.0, ease: ease-out }], 500, () > {// 在淡出动画完成后请求文章…

《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)

这个demo用QT实现了对多个图形项的绘制&#xff0c;包括矩形的绘制&#xff0c;直线的绘制和多边形的绘制&#xff0c;是之前一章中绘制矩形的增强版&#xff0c;之前一章节关于矩形的绘制可以参考&#xff1a;《QT从基础到进阶十五》用鼠标绘制矩形&#xff08;QGraphicsView、…

Web安全:Vulfocus 靶场搭建.(漏洞集成平台)

Web安全&#xff1a;Vulfocus 靶场搭建.&#xff08;漏洞集成平台&#xff09; Vulfocus 是一个包含了多种漏洞靶场的镜像。每个靶场都有具体的漏洞环境和攻击点。Vulfocus 的靶场包括了 Web 安全漏洞、系统安全漏洞、网络安全漏洞、密码学漏洞等多种类型。通关这个靶场我们可以…

基于STM32的物联网体感控制机械臂

摘 要 随着我国微型电子技术和嵌入式系统的发展&#xff0c;目前行业内相对比较传统的机械臂无法满足客户的需求。为了改进传统机械臂在控制上得短板问题&#xff0c;在本次毕业设计中&#xff0c;将使用相对先进、快捷、智能的控制机制。该系统的控制大脑为核心控制器32系列嵌…

哪些方面的应用适合博捷芯双轴半自动划片机?

博捷芯BJX3666系列双轴半自动划片机可以应用于以下领域&#xff1a; 1. 集成电路制造&#xff1a;在集成电路制造中&#xff0c;划片机可以用来将芯片从晶圆上切割下来&#xff0c;以便进行封装和测试。此外&#xff0c;还可以用来对芯片进行划片分离加工&#xff0c;以得到所需…

Java整合Redis实现坐标附近查询

目录 一、GEO用法引入 二、引入依赖 三、实体类 四、添加位置信息 五、查询位置信息 一、GEO用法引入 GEO&#xff0c;全称Geolocation&#xff0c;代表地理坐标。可以在其中存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。常见的命令有&#xff1a;GEOADD&…

python 爬虫之urllib 库的相关模块的介绍以及应用

文章目录 urllib.request 模块打开 URL&#xff1a;发送 HTTP 请求&#xff1a;处理响应&#xff1a; 应用如何读取并显示网页内容提交网页参数使用HTTP 代理访问页面 urllib.request 模块 在 Python 中&#xff0c;urllib.request 模块是用于处理 URL 请求的标准库模块之一。…