按2020年度中的月份统计检测来样情况

'''
@author:姜广明
@@data:202038'''

import pandas as pd

registration = pd.read_excel('d:/Python Temp/gj_registrationExport.xls', skiprows=1, usecols='A,C,F,G,H,I,R,T,U')
'''A="样品编号"B="委托编号"C="报告编号"D="数据状态"E="下一个状态"F="委托日期"G="工程/产品名称"H="项目名称"I="委托单位"J="工程名称"K="生产厂家"L="样品数量"M="抽样数量"N="规格型号"O="样品批号"P="商标"Q="检验类别"R="检测参数"S="样品资料"T="指定主检人"U="标准价格费用"V="折扣价格费用"W="实际价格费用"X="收费情况"Y="报告交付方式"Z="样品登记人"AA="委托人"AB="委托人电话"AC="委托单位地址"
'''

"""
registration文件数据整理
将'委托日期'数据改为为日期索引格式并且设置为表格的索引,
按报告编号排序
"""
registration['委托日期'] = pd.DatetimeIndex(registration['委托日期'])
registration = registration.set_index('委托日期')
registration.sort_values(by='报告编号', inplace=True)

pd.options.display.max_columns = 777
print(registration.head(3)) #输出表的前3行
registration.to_excel('d:/Python Temp/registration.xls')

registration_2020 = registration['2020']  #筛选出2020年的所有报告并写入registration_2020文件中
print(registration_2020.head(3))  #输出表的前3print(len(registration_2020['2020']))  #输出2020年的报告编号数量
registration_2020.to_excel('d:/Python Temp/registration_2020.xls')

'''
从registration_2020文件中,按月份筛选出2020年每个月的报告
并写入‘registration_2020按月统计’文件的不同Sheet中
'''
writer = pd.ExcelWriter('d:/Python Temp/registration_2020按月统计.xls')

registration_2020['2020-01'].to_excel(writer, '一月份')
registration_2020['2020-02'].to_excel(writer, '二月份')
registration_2020['2020-03'].to_excel(writer, '三月份')
registration_2020['2020-04'].to_excel(writer, '四月份')
registration_2020['2020-05'].to_excel(writer, '五月份')
registration_2020['2020-06'].to_excel(writer, '六月份')
registration_2020['2020-07'].to_excel(writer, '七月份')
registration_2020['2020-08'].to_excel(writer, '八月份')
registration_2020['2020-09'].to_excel(writer, '九月份')
registration_2020['2020-10'].to_excel(writer, '十月份')
registration_2020['2020-11'].to_excel(writer, '十一月份')
registration_2020['2020-12'].to_excel(writer, '十二月份')

writer.close()

print('输出2020年每个月接受委托的样品数量')
print('一月份', registration_2020['2020-01']['样品编号'].value_counts().head(5))
print('二月份', registration_2020['2020-02']['样品编号'].value_counts().head(5))
print('三月份', registration_2020['2020-03']['样品编号'].value_counts().head(5))
print('四月份', registration_2020['2020-04']['样品编号'].value_counts().head(5))
print('五月份', registration_2020['2020-05']['样品编号'].value_counts().head(5))
print('六月份', registration_2020['2020-06']['样品编号'].value_counts().head(5))
print('七月份', registration_2020['2020-07']['样品编号'].value_counts().head(5))
print('八月份', registration_2020['2020-08']['样品编号'].value_counts().head(5))
print('九月份', registration_2020['2020-09']['样品编号'].value_counts().head(5))
print('十月份', registration_2020['2020-10']['样品编号'].value_counts().head(5))
print('十一月份', registration_2020['2020-11']['样品编号'].value_counts().head(5))
print('十二月份', registration_2020['2020-12']['样品编号'].value_counts().head(5))
print('--------------------------------')



资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 四路20秒声光显示计分抢答器Multisim14仿真源文件+设计文档资料摘要 数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。关键字:开关阵列电路;触发锁存电路;解锁电路;编码电路;显示电路 一、设计目的 本设计是利用已学过的数电知识,设计的4人抢答器。(1)重温自己已学过的数电知识;(2)掌握数字集成电路的设计方法和原理;(3)通过完成该设计任务掌握实际问题的逻辑分析,学会对实际问题进行逻辑状态分配、化简;(4)掌握数字电路各部分电路与总体电路的设计、调试、模拟仿真方法。 二、整体设计 (一)设计任务与要求: 抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 ~ S3表示。 设置一个系统清除和抢答控制开关S,该开关由主持人控制。 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效。 (二)设计原理与参考电路 抢答器的组成框图如下图所示。它主要由开关阵列电路、触发锁存电路、解锁电路、编码电路和显示电路等几部分组成。
### 蓝桥杯2020年Java研究生组题目解析 蓝桥杯竞赛中的构造类问题通常涉及多种算法和技巧的应用。以下是关于蓝桥杯2020年Java研究生组的相关题目及其解题思路的分析。 #### 常见构造类问题分类 构造类问题是蓝桥杯的重要组成部分之一,其特点是没有固定的模板或通解方法,需根据具体题目灵活应对。常见的构造类问题可以分为以下几种类型[^1]: - **数学问题**:构造满足特定条件的数列、集合或排列组合。 - **图论问题**:构建满足某些约束条件的图结构,如树、有向图等。 - **字符串处理**:设计符合特定属性的字符串,例如回文串或循环字符串。 - **组合与排列**:基于给定条件生成符合条件的排列或组合。 - **游戏策略**:设计具有挑战性的游戏规则,测试参赛者的策略思维能力。 - **逻辑推理**:创建复杂的逻辑谜题,要求选手依据提示推导出最终答案。 - **数据结构**:构建特殊的抽象数据模型(如堆、队列),并在此基础上完成指定操作。 - **动态规划**:建立状态转移方程来解决最优化问题。 - **贪心算法**:制定局部最优的选择方案以达到全局最佳效果。 - **模拟问题**:重现现实世界的情境或流程,通过逐步执行获得结果。 #### 特殊日期计算实例——黑色星期五 针对具体的日期运算案例,“黑色星期五”问题提供了一个很好的示范。此题的核心在于如何有效判定某一年度内的所有十三号是否落在周五之上。解决方案如下所示[^2]: 为了简化复杂程度,假设初始时间为公元1998年元月一日对应于周四,则可以通过逐年累加天数的方式快速定位目标年度首日属于周几;接着逐月核查当月中第十三天所处位置即可统计全年此类现象发生频次。 ```python def is_leap_year(year): """判断是否为闰年""" if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): return True return False def get_day_of_week(start_year, target_year): """获取target_year年1月1日相对于start_year年1月1日的星期偏移量""" days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] total_days = 0 for y in range(start_year, target_year): total_days += 365 if is_leap_year(y): total_days += 1 day_offset = total_days % 7 return day_offset def count_black_friday(target_year): start_year = 1998 first_day_index = get_day_of_week(start_year, target_year) black_fridays_count = 0 months_with_30_or_more_days = {1, 3, 4, 5, 6, 7, 8, 9, 10, 11} current_day_index = first_day_index leap_flag = is_leap_year(target_year) for month in range(1, 13): thirteenth_day_index = (current_day_index + 12) % 7 if thirteenth_day_index == 4: # 星期五索引设为4 black_fridays_count += 1 if month in months_with_30_or_more_days: current_day_index = (current_day_index + 30) % 7 elif month == 2: if leap_flag: current_day_index = (current_day_index + 29) % 7 else: current_day_index = (current_day_index + 28) % 7 return black_fridays_count ``` 上述代码实现了对任意给定年份中“黑色星期五”的计数功能。它首先定义了辅助函数用于检测闰年以及计算跨多个整年后每一天的具体分布状况,随后逐一考察各个月份里是否存在符合条件的日子,并累积总数作为输出结果返回。 #### 数据范围说明 对于部分评测样例而言,可能存在额外的数据规模限制条件。比如,在某个实际例子当中提到过这样的规定:“对于百分之二十的小型样本集来说,a2+a3+a4不会超过数值八。”而就整体一百个百分比覆盖范围内来看,则进一步明确了q的最大取值不得超过百位数界限,同时b4+b6也应小于等于由前述变量构成之总和的一半即五十以内[^3]。 这些细节上的界定有助于开发者合理分配资源并对程序性能做出适当调整,确保能够在限定时间内顺利完成全部任务而不至于因超出内存占用或是运行时间超限而导致失败。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值