《Pandas数据处理》课件 1.3.2计算老师的上课时间_第1页
《Pandas数据处理》课件 1.3.2计算老师的上课时间_第2页
《Pandas数据处理》课件 1.3.2计算老师的上课时间_第3页
《Pandas数据处理》课件 1.3.2计算老师的上课时间_第4页
《Pandas数据处理》课件 1.3.2计算老师的上课时间_第5页
已阅读5页,还剩15页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算老师的上课时间主讲人:徐玲重庆市九龙坡职业教育中心问题描述在“电商部教师线上教学课时”表中,计算出老师的上课时间和上课学时。原始数据如表1.3.6所示。表1.3.6电商部教师线上教学课时任课教师任课班级课程教学内容日期教学互动时间学生应到(人)学生实到(人)薛光洋2019秋电商2(电子商务3➕2)中职历史辛亥革命2020-02-1014:30-16:3042.039.0薛光洋2019电商春2电子商务3➕2中职历史辛亥革命2020-02-129:00-10:3038.028.0薛光洋2019电商春4(电子商务现代学徒制)中职历史辛亥革命2020-02-139:30-10:3049.037.0薛光洋2019级电商春3(电子商务3+2)中职历史辛亥革命2020-02-1315:00-16:3040.040.0薛光洋2019级电商1班(计算机应用高职)(秋)中职历史辛亥革命2020-02-1414:00-15:0046.046.0........................瞿羽2019级春电商6班表格处理NaN2020-02-2710:30-11:00NaNNaN瞿羽2019级电商4班(春)表格处理NaN2020-02-2710:30-11:30NaNNaN瞿羽2019级电商2班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0236.038.0瞿羽2019级电商3班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0141.042.0瞿羽2019级电商6班(计算机应用高职)(春)表格处理数据有效性2020-03-0510:40-12:0041.046.0输出结果表1.3.7“电商部教师线上教学课时”统计表任课教师任课班级课程教学内容日期教学互动时间学生应到(人)学生实到(人)开始结束上课时间上课学时薛光洋2019秋电商2(电子商务3➕2)中职历史辛亥革命2020-02-1014:30-16:3042.039.08709901203.00薛光洋2019电商春2电子商务3➕2中职历史辛亥革命2020-02-129:00-10:3038.028.0540630902.25薛光洋2019电商春4(电子商务现代学徒制)中职历史辛亥革命2020-02-139:30-10:3049.037.0570630601.50薛光洋2019级电商春3(电子商务3+2)中职历史辛亥革命2020-02-1315:00-16:3040.040.0900990902.25薛光洋2019级电商1班(计算机应用高职)(秋)中职历史辛亥革命2020-02-1414:00-15:0046.046.0840900601.50....................................瞿羽2019级春电商6班表格处理NaN2020-02-2710:30-11:00NaNNaN630660300.75瞿羽2019级电商4班(春)表格处理NaN2020-02-2710:30-11:30NaNNaN630690601.50瞿羽2019级电商2班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0236.038.0640722822.05瞿羽2019级电商3班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0141.042.0640721812.02瞿羽2019级电商6班(计算机应用高职)(春)表格处理数据有效性2020-03-0510:40-12:0041.046.0640720802.00题前思考问题描述问题解答怎样提取教学互动时间?调用str.extract()方法使用正则表达式从字符数据中抽取匹配的分组数据

怎样计算上课总时长?分别计算出“开始”、“结束”时间,再计算出“上课时间”和“上课学时”

importpandasaspd

importre

data=pd.read_excel(r"D:\pydata\项目一\电商部教师线上教学课时核对后.xlsx")

lt=pile('(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)')

temp=data['教学互动时间'].str.extract(lt)

data['开始']=temp[0].astype('int')*60+temp[1].astype('int')

data['结束']=temp[2].astype('int')*60+temp[3].astype('int')

data["上课时间"]=data['结束']-data['开始']

data["上课学时"]=round(data["上课时间"]/40,2)

print(data)

程序代码引入正则表达式re模块,re是内置模块,不需要安装。importpandasaspd

importre

data=pd.read_excel(r"D:\pydata\项目一\电商部教师线上教学课时核对后.xlsx")

lt=pile('(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)')

temp=data['教学互动时间'].str.extract(lt)

data['开始']=temp[0].astype('int')*60+temp[1].astype('int')

data['结束']=temp[2].astype('int')*60+temp[3].astype('int')

data["上课时间"]=data['结束']-data['开始']

data["上课学时"]=round(data["上课时间"]/40,2)

print(data)

程序代码使用pile()编译正则表达式给对象lt,正则表达式中(\d+)表示匹配一个或多个数字,[^\d]表示匹配除数字以外的任意字符。importpandasaspd

importre

data=pd.read_excel(r"D:\pydata\项目一\电商部教师线上教学课时核对后.xlsx")

lt=pile('(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)')

temp=data['教学互动时间'].str.extract(lt)

data['开始']=temp[0].astype('int')*60+temp[1].astype('int')

data['结束']=temp[2].astype('int')*60+temp[3].astype('int')

data["上课时间"]=data['结束']-data['开始']

data["上课学时"]=round(data["上课时间"]/40,2)

print(data)

程序代码调用str.extract()方法使用正则表达式与“教学互动时间”列匹配,从匹配到的第一个字符串中提取出捕获组。因为正则表达式中有4个捕获组,所以匹配的结果数据框有4列,分别对应4个捕获组,代表了开始时、分和结束时、分。

01230143016301900103029301030315001630414001500...........122210301100122310301130122410401202122510401201122610401200importpandasaspd

importre

data=pd.read_excel(r"D:\pydata\项目一\电商部教师线上教学课时核对后.xlsx")

lt=pile('(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)')

temp=data['教学互动时间'].str.extract(lt)

data['开始']=temp[0].astype('int')*60+temp[1].astype('int')

data['结束']=temp[2].astype('int')*60+temp[3].astype('int')

data["上课时间"]=data['结束']-data['开始']

data["上课学时"]=round(data["上课时间"]/40,2)

print(data)

程序代码计算开始时间,以“开始”为名添加到列。temp[0]是开始“时“的序列,temp[1]是开始”分”的序列,temp[0].astype('int')*60+temp[1].astype('int')就能从“时“和”分“两个序列得到”开始“这个时刻的值(开始时*60+开始分=开始时刻)。任课教师任课班级课程教学内容日期教学互动时间学生应到(人)学生实到(人)开始薛光洋2019秋电商2(电子商务3➕2)中职历史辛亥革命2020-02-1014:30-16:3042.039.0870薛光洋2019电商春2电子商务3➕2中职历史辛亥革命2020-02-129:00-10:3038.028.0540薛光洋2019电商春4(电子商务现代学徒制)中职历史辛亥革命2020-02-139:30-10:3049.037.0570薛光洋2019级电商春3(电子商务3+2)中职历史辛亥革命2020-02-1315:00-16:3040.040.0900薛光洋2019级电商1班(计算机应用高职)(秋)中职历史辛亥革命2020-02-1414:00-15:0046.046.0840...........................瞿羽2019级春电商6班表格处理NaN2020-02-2710:30-11:00NaNNaN630瞿羽2019级电商4班(春)表格处理NaN2020-02-2710:30-11:30NaNNaN630瞿羽2019级电商2班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0236.038.0640瞿羽2019级电商3班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0141.042.0640瞿羽2019级电商6班(计算机应用高职)(春)表格处理数据有效性2020-03-0510:40-12:0041.046.0640importpandasaspd

importre

data=pd.read_excel(r"D:\pydata\项目一\电商部教师线上教学课时核对后.xlsx")

lt=pile('(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)')

temp=data['教学互动时间'].str.extract(lt)

data['开始']=temp[0].astype('int')*60+temp[1].astype('int')

data['结束']=temp[2].astype('int')*60+temp[3].astype('int')

data["上课时间"]=data['结束']-data['开始']

data["上课学时"]=round(data["上课时间"]/40,2)

print(data)

程序代码添加标签为“结束”时刻列。temp[2]是结束“时“序列,temp[3]是结束”分“序列,结束时*60+结束分=结束时刻。任课教师任课班级课程教学内容日期教学互动时间学生应到(人)学生实到(人)开始结束薛光洋2019秋电商2(电子商务3➕2)中职历史辛亥革命2020-02-1014:30-16:3042.039.0870990薛光洋2019电商春2电子商务3➕2中职历史辛亥革命2020-02-129:00-10:3038.028.0540630薛光洋2019电商春4(电子商务现代学徒制)中职历史辛亥革命2020-02-139:30-10:3049.037.0570630薛光洋2019级电商春3(电子商务3+2)中职历史辛亥革命2020-02-1315:00-16:3040.040.0900990薛光洋2019级电商1班(计算机应用高职)(秋)中职历史辛亥革命2020-02-1414:00-15:0046.046.0840900..............................瞿羽2019级春电商6班表格处理NaN2020-02-2710:30-11:00NaNNaN630660瞿羽2019级电商4班(春)表格处理NaN2020-02-2710:30-11:30NaNNaN630690瞿羽2019级电商2班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0236.038.0640722瞿羽2019级电商3班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0141.042.0640721瞿羽2019级电商6班(计算机应用高职)(春)表格处理数据有效性2020-03-0510:40-12:0041.046.0640720importpandasaspd

importre

data=pd.read_excel(r"D:\pydata\项目一\电商部教师线上教学课时核对后.xlsx")

lt=pile('(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)')

temp=data['教学互动时间'].str.extract(lt)

data['开始']=temp[0].astype('int')*60+temp[1].astype('int')

data['结束']=temp[2].astype('int')*60+temp[3].astype('int')

data["上课时间"]=data['结束']-data['开始']

data["上课学时"]=round(data["上课时间"]/40,2)

print(data)

程序代码添加标签为“上课时间”的列,列数据为“结束”列与“开始”列数据之差,即上课时间=结束-开始。

任课教师任课班级课程教学内容日期教学互动时间学生应到(人)学生实到(人)开始结束上课时间薛光洋2019秋电商2(电子商务3➕2)中职历史辛亥革命2020-02-1014:30-16:3042.039.0870990120薛光洋2019电商春2电子商务3➕2中职历史辛亥革命2020-02-129:00-10:3038.028.054063090薛光洋2019电商春4(电子商务现代学徒制)中职历史辛亥革命2020-02-139:30-10:3049.037.057063060薛光洋2019级电商春3(电子商务3+2)中职历史辛亥革命2020-02-1315:00-16:3040.040.090099090薛光洋2019级电商1班(计算机应用高职)(秋)中职历史辛亥革命2020-02-1414:00-15:0046.046.084090060.................................瞿羽2019级春电商6班表格处理NaN2020-02-2710:30-11:00NaNNaN63066030瞿羽2019级电商4班(春)表格处理NaN2020-02-2710:30-11:30NaNNaN63069060瞿羽2019级电商2班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0236.038.064072282瞿羽2019级电商3班(电子商务3+2)(春)表格处理数据有效性2020-03-0510:40-12:0141.042.064072181瞿羽2019级电商6班(计算机应用高职)(春)表格处理数据有效性2020-03-0510:40-12:0041.046.064072080importpandasaspd

importre

data=pd.read_excel(r"D:\pydata\项目一\电商部教师线上教学课时核对后.xlsx")

lt=pile('(\d+)[^\d]+(\d+)[^\d]+(\d+)[^\d]+(\d+)')

temp=data['教学互动时间'].str.extract(lt)

data['开始']=temp[0].astype('int')*60+temp[1].astype('int')

data['结束']=temp[2].astype('int')*60+temp[3].astype('int')

data["上课时间"]=data['结束']-data['开始']

data["上课学时"]=round(data["上课时间"]/40,2)

print(data)

程序代码添加标签为“上课学时”的列,这里假定一学时为40分钟,则上课学时=上课时间/40,结果保留2位小数。任课教师任课班级课程教学内容日期教学互动时间学生应到(人)学生实到(人)开始结束上课时间上课学时薛光洋2019秋电商2(电子商务3➕2)中职历史辛亥革命2020-02-1014:30-16:3042.039.08709901203.00薛光洋2019电商春2电子商务3➕2中职历史辛亥革命2020-02-129:00-10:3038.028.0540630902.25薛光洋2019电商春4(电子商务现代学徒制)中职历史辛亥革命2020-02-139:30-10:3049.037.0570630601.50薛光洋2019级电商春3(电子商务3+2)中职历史辛亥革命2020-02-1315:00-16:3040.040.0900990902.25薛光洋2019级电商1班(计算机应用高职)(秋)中职历史辛亥革命2020-02-1414:00-15:0046.046.0840900601.50....................................瞿羽2019级春电商6班表格处理NaN2020-02-2710:30-11:00NaNNaN630660300.75瞿羽2019级电商4班(春)表格处理NaN2020-02-2710:30-11:30NaNNaN630690601.50瞿羽2019级电商2班(电子商务3+2)(春)表格处理数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论