当前位置: 首页 > news >正文

2012年数学建模竞赛脑卒中发病环境因素分析及干预日期数据处理代码

因四个表格日期数据处理有些复杂,故作此代码一次性处理四组数据: 

import datetime
import pandas as pddef check(string, df, i, num, error_list):if is_valid(pd.to_datetime(string, errors='coerce', format='%Y/%m/%d'), error_list, i):df.iloc[i, num] = pd.to_datetime(string, errors='coerce', format='%Y/%m/%d')# 数据中空格数据的替换
def data_process(data):new_data = []for d in data:d = d.replace(" ", "")new_data.append(d)return new_data# 日期格式错误的判断与修改
def judge(df, data, i, num, date, error_list):if len(data[0]) == 4 and len(data[1]) == 2 and len(data[2]) == 2:string = data[0] + '/' + data[1] + '/' + data[2]check(string, df, i, num, error_list)elif len(data[0]) == 2 and len(data[1]) == 2 and len(data[2]) == 4:string = data[2] + '/' + data[1] + '/' + data[0]check(string, df, i, num, error_list)elif len(data[0]) == 2 and len(data[1]) == 1 and len(data[2]) == 4:string = data[2] + '/0' + data[1] + '/' + data[0]check(string, df, i, num, error_list)elif len(data[0]) == 4 and len(data[1]) == 1 and len(data[2]) == 1:string = data[0] + '/0' + data[1] + '/0' + data[2]check(string, df, i, num, error_list)elif len(data[0]) == 4 and len(data[1]) == 2 and len(data[2]) == 1:string = data[0] + '/' + data[1] + '/0' + data[2]check(string, df, i, num, error_list)elif len(data[0]) == 4 and len(data[1]) == 1 and len(data[2]) == 2:string = data[0] + '/0' + data[1] + '/' + data[2]check(string, df, i, num, error_list)elif len(data[0]) == 5 and len(data[1]) == 1 and len(data[2]) == 2:string = data[0][1:5] + '/0' + data[1] + '/' + data[2]check(string, df, i, num, error_list)elif len(data[0]) == 5 and len(data[1]) == 1 and len(data[2]) == 1:string = data[0][1:5] + '/0' + data[1] + '/0' + data[2]check(string, df, i, num, error_list)elif len(data[0]) == 5 and len(data[1]) == 2 and len(data[2]) == 1:string = data[0][1:5] + '/' + data[1] + '/0' + data[2]check(string, df, i, num, error_list)else:print("第{}行{}列异常的数据:{}".format(i + 1, num + 1, date))error_list.append(i)# 字符串年月日的处理
def str_process(df, date, i, num, error_list):string = date[0:4] + '/' + date[4:6] + '/' + date[6:8]if is_valid(pd.to_datetime(string, errors='coerce', format='%Y/%m/%d'), error_list, i):df.iloc[i, num] = pd.to_datetime(string, errors='coerce', format='%Y/%m/%d')# 判断日期是否合法 若要修改日期合法范围,直接修改函数中的(2010, 12, 31)即可
def is_valid(date, error_list, i):date1 = datetime.datetime(2007, 1, 1)date2 = datetime.datetime(2010, 12, 31)if date >= date1 and date <= date2:return Trueelse:print("第{}行异常的数据:{}".format(i + 1, date))error_list.append(i)return False# 数据处理过程
def date_process(file_path, sheet_name, new_excel, new_sheet, flag, is_delete):df = pd.read_excel(file_path, sheet_name=sheet_name)error_list = []for T in range(3, 5):col_num = df.shape[0]for i in range(col_num):try:date = df.iloc[i, T]if type(date) != datetime.datetime:try:if type(date) == int:print("第{}行{}列异常的数据:{}".format(i + 1, T + 1, date))error_list.append(i)continuedata = data_process(date.split('-'))if len(data) == 3:judge(df, data, i, T, date, error_list)elif len(data) == 2:print("第{}行{}列异常的数据:{}".format(i + 1, T + 1, date))error_list.append(i)elif len(data) == 1:data = data_process(date.split('/'))if len(data) == 3:judge(df, data, i, T, date, error_list)elif len(data) == 1:if len(date) == 8:str_process(df, date, i, T, error_list)else:print("第{}行{}列异常的数据:{}".format(i + 1, T + 1, date))error_list.append(i)else:print("第{}行{}列异常的数据:{}".format(i + 1, T + 1, date))error_list.append(i)else:print("第{}行{}列异常的数据:{}".format(i + 1, T + 1, date))error_list.append(i)except:if flag:print("第{}行{}列异常的数据:{}".format(i + 1, T + 1, date))error_list.append(i)else:is_valid(date, error_list, i)except:print("出错{} {}".format(i, col_num))continueif i >= df.shape[0] - 1:breakif is_delete:df = df.drop(df.index[error_list])df.to_excel(new_excel, index=False, sheet_name=new_sheet)# 主函数
if __name__ == '__main__':NULL_Error = True  # 空格是否算作错误,若是则为True,若不是则为Falseis_delete = True  # 错误行是否删除,若删除则为True,若不删除则为Falsefile_path = "Data/data1.xls"  # 要修改的表的文件路径(可以用绝对路径)sheet_name = "脑卒中"  # 要修改表的表名new_excel = 'data6.xls'  # 修改后数据存储文件名new_sheet = 'Sheet1'  # 修改后数据存储的表名date_process(file_path, sheet_name, new_excel, new_sheet, NULL_Error, is_delete)

相关文章:

2012年数学建模竞赛脑卒中发病环境因素分析及干预日期数据处理代码

因四个表格日期数据处理有些复杂&#xff0c;故作此代码一次性处理四组数据&#xff1a; import datetime import pandas as pddef check(string, df, i, num, error_list):if is_valid(pd.to_datetime(string, errorscoerce, format%Y/%m/%d), error_list, i):df.iloc[i, nu…...

Merge和Rebase的区别

Merge 和 Rebase 是 Git 中常用的两种分支整合方式&#xff0c;它们具有不同的工作原理和效果&#xff1a; Merge&#xff08;合并&#xff09; 合并是将两个或多个分支的提交历史合并为一个新的提交。在合并时&#xff0c;Git 会创建一个新的合并提交&#xff0c;将两个分支…...

[RTKLIB]模糊度固定相关问题(二)

文章目录 一、固定模糊度的前置工作1. 做好固定模糊度的准备2. 建立双差模糊度3. 问题与总结 版权声明&#xff1a;本文为原创文章&#xff0c;版权归 Winston Qu 所有&#xff0c;转载请注明出处。 在上一篇文章中&#xff0c;介绍了RTKLIB中manage_amb_LAMBDA()函数&#xff…...

QtAV for ubuntu16.04

下载ubuntu https://releases.ubuntu.com/16.04/ubuntu-16.04.7-desktop-amd64.iso 下载ffmpeg https://ffmpeg.org/download.html 下载QtAV https://github.com/wang-bin/QtAV/releases 更新 sudo apt update 安装库 sudo apt-get install libglu1-mesa-dev freeglut3-dev…...

MFC 文件读写包括字符串的结构体

试过CString char* 写入的都是地址 struct Param{int ID;int index;char val[128]; };vector<Param>ans; UINT count 17; ans.resize(count); FILE* fp; fopen_s(&fp,_T("my.txt"),_T("rb")); if(count ! fread(&ans[0],sizeof(Param),cou…...

在家构建您的迷你聊天Chat gpt

推荐&#xff1a;使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 什么是指令遵循模型&#xff1f; 语言模型是机器学习模型&#xff0c;可以根据句子的前一个单词预测单词概率。如果我们向模型请求下一个单词&#xff0c;并将其递减地反馈给模型以请求更多单词&#xff…...

pytest自动化测试框架之断言

前言 断言是完整的测试用例中不可或缺的因素&#xff0c;用例只有加入断言&#xff0c;将实际结果与预期结果进行比对&#xff0c;才能判断它的通过与否。 unittest 框架提供了其特有的断言方式&#xff0c;如&#xff1a;assertEqual、assertTrue、assertIn等&#xff0c;py…...

C++模板的用法

目录 模板的概念 函数模板&#xff08;Function Templates&#xff09; 基本用法 函数模板的实例化 匹配原则 类模板&#xff08;Class Templates&#xff09; 模板的概念 C中的模板&#xff08;Templates&#xff09;实际上是一种泛型编程&#xff08;Generic Programm…...

ESP 32 蓝牙虚拟键盘链接笔记本电脑的键值问题

由于打算利用esp32 通过蓝牙链接电脑后实现一些特俗的键盘功能&#xff0c;所以就折腾了一下&#xff0c;折腾最耗费时间的却是键值问题&#xff0c;让一个20多年的老司机重新补充了知识 过程曲折就不说了&#xff0c;直接说结果。 我们通过网络搜索获取的键值和蓝牙模拟键盘传…...

128.【Maven】

Maven仓库 (一)、Maven 简介1.传统项目管理的缺点2.Maven是什么3.Maven的作用 (二)、Maven 的下载与安装1.下载与认识目录2.配置Maven的全局环境 (三)、Maven 的基础概念1.Maven 仓库(1).仓库分类 2. Maven 坐标3.Maven 本地仓库配置(1).改变默认的仓库地址(2).改变远程仓库地址…...

嵌入式虚拟仿真实验教学平台之串口发送数据

嵌入式虚拟仿真实验教学平台课程系列 串口发送数据实验 课程内容 本实验使用 STM32 的串口发送数据。开始仿真后,打开串口监视器&#xff0c;串口监视器会打印出要发送的数据。 课程目标 学习配置使用GPIO功能学习配置使用复用功能学习配置使用UART功能 硬件设计 本课程…...

Android Studio 屏幕适配

Android开发屏幕适配流程 首先studio中没有ScreenMatch这个插件的&#xff0c;下去现在这个插件 点击File->settings->Plugins->(搜索ScreenMatch插件)&#xff0c;点击下载&#xff0c;应用重启Studio即可&#xff0c;如下图 在values下 创建dimens.xml&#xff0c…...

【C++】C++11--- 线程库及详解lock_guard与unique_lock

目录 一、thread类的介绍二、线程函数参数三、 原子性操作库四、lock_guard与unique_lock4.1、mutex的种类4.2 lock_guard4.3 unique_lock 一、thread类的介绍 在C11之前&#xff0c;涉及到多线程问题&#xff0c;都是和平台相关的&#xff0c;比如**windows和linux下各有自己…...

第二篇|研究数据哪里来——建筑业

数据是研究和产业发展的重要基石&#xff0c;然而无论是学者、企业还是研究机构往往都面临着“找数据难”的局面。本期将分享一些查找建筑相关的数据及资料的渠道。希望可以帮大家解决这一难题&#xff0c;有用求收藏求收藏求收藏~ 1.政府机构 可以查找国家、地方政府的建筑行…...

numpy ascontiguousarra 学习笔记

目录 numpy ascontiguousarra函数 转换命令&#xff1a; ascontiguousarray等价效果&#xff1a; ascontiguousarray学习笔记 ascontiguousarray函数将一个内存不连续存储的数组转换为内存连续存储的数组&#xff0c;使得运行速度更快。 在昇腾开发版上使用时&#xff0c;…...

【算法|双指针系列No.1】leetcode283. 移动零

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…...

PHP8定义字符串的方法-PHP8知识详解

字符串&#xff0c;顾名思义&#xff0c;就是将一堆字符串联在一起。字符串简单的定义方法是使用英文单引号&#xff08; &#xff09;或英文双引号&#xff08;" "&#xff09;包含字符。另外&#xff0c;还可以使用定界符定义字符串。本文还介绍了字符串的连接符。…...

分享21年电赛F题-智能送药小车-做题记录以及经验分享

这里写目录标题 前言一、赛题分析1、车型选择2、巡线1、OpenMv循迹2、灰度循迹 3、装载药品4、识别数字5、LED指示6、双车通信7、转向方案1、开环转向2、位置环速度环闭环串级转向3、MPU6050转向 二、调试经验分享1、循迹2、识别数字3、转向4、双车通信5、逻辑处理6、心态问题 …...

字符串统计-C语言/Java

描述 计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 &#xff0c;包括 0 和 127 )&#xff0c;换行表示结束符&#xff0c;不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。数据范围&#xff1a; 1≤n≤500 例如&#xff0c;对于字符串 ab…...

Styled-components,另一种css in js的方案

介绍 Styled-components是一种流行的CSS-in-JS库&#xff0c;它为React和React Native应用程序提供了一种优雅的方式来管理组件的样式。它的设计理念是将CSS样式与组件逻辑紧密绑定在一起&#xff0c;从而使样式在组件层级中作用更加清晰和可维护 使用 安装Styled-components…...

nginx部署以及反向代理多域名实现HTTPS访问

nginx部署以及反向代理多域名实现 1.nginx部署 1.1 编写nginx部署文件 docker-compose.yml version: 3 services: nginx:restart: always image: nginx:1.20container_name: nginx-mainports:- 80:80- 443:443volumes: # 基础配置- /opt/nginx_main/nginx-info/nginx.conf:/…...

24届近5年东华大学自动化考研院校分析

今天给大家带来的是东华大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、东华大学 学校简介 东华大学&#xff08;Donghua University&#xff09;&#xff0c;地处上海市&#xff0c;是教育部直属全国重点大学&#xff0c;国家“双一流”、“211工程”建设高校…...

nacos伪集群启动成功,但是服务注册不上的问题

项目场景&#xff1a; nacos 伪集群启动成功&#xff0c;但是服务未注册上的问题&#xff1a; 问题描述 在学习nacos中&#xff0c;我买了一台阿里云服务器&#xff0c;在其上部署了nginx及三个nacos 端口分别是 8848 8868 8888 我按照正常的流程 解压nacos修改application.p…...

tidevice+appium在windows系统实施iOS自动化

之前使用iOS手机做UI自动化都是在Mac电脑上进行的&#xff0c;但是比较麻烦&#xff0c;后来看到由阿里开源的tidevice工具可以实现在windows上启动WDA&#xff0c;就准备试一下&#xff0c;记录一下过程。 tidevice的具体介绍可以参考一下这篇文章&#xff1a;tidevice 开源&…...

面试热题(LRU缓存)

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#xff0c;否则返回 -1 …...

微信小程序开发【从0到1~入门篇】2023.08

一个小程序主体部分由三个文件组成&#xff0c;必须放在项目的根目录&#xff0c;如下&#xff1a; 文件必须作用app.js是小程序逻辑app.json是小程序公告配置app.wxss否小程序公告样式表 3. 小程序项目结构 一个小程序页面由四个文件组成&#xff0c;分别是&#xff1a; 文…...

P1398 [NOI2013] 书法家

题目描述 输入 #1 3 13 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 1 1 1 -1 1 1 1 输出 #1 24 输入 #2 3 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1…...

【构建卷积神经网络】

构建卷积神经网络 卷积网络中的输入和层与传统神经网络有些区别&#xff0c;需重新设计&#xff0c;训练模块基本一致 全连接层&#xff1a;batch784&#xff0c;各个像素点之间都是没有联系的。 卷积层&#xff1a;batch12828&#xff0c;各个像素点之间是有联系的。 impor…...

SSH 认证原理

SSH协议登录服务器&#xff1a; $ ssh userhost 主要有两种登录方式&#xff1a;第一种为密码口令登录&#xff0c;第二种为公钥登录 密码口令登录 通过密码进行登录&#xff0c;主要流程为&#xff1a; 1、客户端连接上服务器之后&#xff0c;服务器把自己的公钥传给客户端…...

基于DETR (DEtection TRansformer)开发构建MSTAR雷达影像目标检测系统

关于DETR相关的实践在之前的文章中很详细地介绍过&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《DETR (DEtection TRansformer)基于自建数据集开发构建目标检测模型超详细教程》 《书接上文——DETR评估可视化》 基于MSTAR雷达影像数据开发构建目标检测系统&am…...

兰州做网站/青岛谷歌优化

2015-01-06在cass9.0中如何标高程1。使用南方cass软件“工程应用”菜单下的“等高线生成数据文件”命令&#xff0c;提取原始地形等高线上的坐标和高程数据&#xff0c;保存为原始地形数据。dat 文件。2。将各点设计平均高程也保存为cass格式的坐标高程数据文件&#xff0c;保存…...

深圳网站建设现/企业做推广有用吗

unordered_map 是關聯容器&#xff0c;含有帶唯一鍵的鍵-值 pair 。搜索、插入和元素移除擁有平均常數時間複雜度。 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have…...

做视频网站 视频放在哪/现在做推广的新渠道有哪些

在这里输入你的内容&#xff0c;注意不要用退格键把所有文字删除&#xff0c;请保留一个或者用鼠标选取后直接输入&#xff0c;防止格式错乱。 没有所谓的成功学&#xff0c;只有充满智慧的思考&#xff0c;脚踏实地的实干&#xff0c;和越来越近的理想&#xff0c;还有机遇和运…...

企业网站seo参考文献/seo排名的公司

Orgrimmar 题意&#xff1a; 就是给你一个树&#xff0c;然后让你选择一些点集&#xff0c;每个点的度<1。问你这个点集最大是多少。 思考&#xff1a; 刚开始我想了个贪心&#xff0c;既然度<1的才能保留&#xff0c;那么我先把度>3的全部删掉&#xff0c;剩下的能…...

用maxcms做的网站/广州市口碑全网推广报价

如何计算CPU的DMIPS CPU性能评估采用综合测试程序,较流行的有Whetstone和Dhrystone两种。Dhrystone主要用于测整数计算能力,计算单位就是DMIPS。Whetstone主要用于测浮点计算能力,计算单位就是MFLOPS。一个表示整数运算能力,一个表示浮点数运算能力,二者不能完全等同。 D…...

直接进网站的浏览器打开/公司网站排名

个人看源码的笔记记录&#xff0c;基于JDK8。 数据结构图&#xff1a; 一、HashMap的成员变量 关注一下成员变量Node<K,V>[] table 即可&#xff0c;HashMap就是用Node数组来存取数据的。Node是HashMap的静态内部类。 //table数组默认初始化容量16static final int DEF…...