根据 ”艾宾浩斯遗忘曲线“复习时间点生成的复习计划模板

article/2025/8/30 16:25:35

根据 ”艾宾浩斯遗忘曲线“复习时间点生成的复习计划模板

编程小白,写的可能有点乱见谅哈。

这几天一直在看学习方法之类的内容,加上自己在备考cpa。就经常需要记忆很多东西。突然想起来很久之前看到过的 ”艾宾浩斯遗忘曲线“。看到网上有一些根据这个曲线,总结分享出来的复习时间点,但是没有哪种比较通用的模板可以直接复制,就想着自己写一个。

使用方式:使用方式非常简单,只需要设置一下起始和终止日期,还有文件的生成路径就可以。(也可以去掉注释生成在当前路径下)

结果:代码运行完会生成一个excel表格,每天学习完成之后,将1,2等天数在excel中 ctrl+H 替换为学习的章节即可,如 1 → ‘第一章’,选择全部替换。

注意:如果工作量比较大,可以设置15天为一个周期,把 get_Ebbinghaus_table() 函数的默认参数中的30去掉。

希望对大家的学习有所帮助!

在这里插入图片描述
【注意】需要勾选 Match entire cell contents,不然会把所有2开头的也替换掉

import os
import pandas as pd
import numpy as np
import time
import datetime# 计划时长
start_date = '2021-1-14'
end_date = '2021-2-28'plan_days = (pd.to_datetime(end_date) - pd.to_datetime(start_date)).days# 生成excel表格,设置路径
path = r''# 生成到当前工作路径(optional)
#     path = os.getcwd()
#     name = path + 'Ebbinghaus-review-plan.xlsx'def get_Ebbinghaus_table(start_date,end_date,plan_days,review_interval = [0,1,2,4,7,15,30]):# 遗忘曲线的复习时间点,不要改了,单位:天,设置为行索引# 生成日期seriescolumn_date = pd.Series(pd.date_range(start_date, end_date))Ebbinghaus = pd.DataFrame([column_date + pd.Timedelta(days=i) for i in review_interval],index=review_interval)Ebbinghaus_T = Ebbinghaus.T# 设置日期为列索引1Ebbinghaus_table = Ebbinghaus_T.set_index([pd.Index(column_date)])# 设置天数为列索引列2,也可以改为事件列表days = range(1,plan_days+2)events = ''Ebbinghaus_table = Ebbinghaus_table.set_index([pd.Index(days)],append=True).Treturn Ebbinghaus_tabledef generate(Ebbinghaus_table):dic = {}for i in range(Ebbinghaus_table.shape[1]):# 获取第一行日期column1_date = (Ebbinghaus_table.columns[i])[0]# 获取第二行第几天column2_days = (Ebbinghaus_table.columns[i])[1]# 如果当前列或者当前列的左边有与当前日期相同的,则取他对应的第二行索引df3 = ~pd.isna(Ebbinghaus_table[Ebbinghaus_table.iloc[:,range(column2_days)].isin([column1_date])]).all()date = (Ebbinghaus_table.columns[i])[0]to_datetime = date.to_pydatetime().date()date_fmt = datetime.datetime.strftime(to_datetime,'%Y-%m-%d')dic[date_fmt] = []# 获取所有满足条件的天数for n in df3[df3].index:dic[date_fmt].append(n[1])return dicdef get_review_plan():Ebbinghaus_table = get_Ebbinghaus_table(start_date,end_date,plan_days)process_table = generate(Ebbinghaus_table)index = process_table.keys()values = process_table.values()review_plan = pd.DataFrame(values,dtype=object,index = index)review_plan.to_excel(path,encoding='utf-8',header=0)return review_plan# 使用时将1,2等天数在excel中 ctrl+H 替换为学习的章节即可 如 1 → '第一章',选择全部替换
get_review_plan()

http://chatgpt.dhexx.cn/article/CcnWgAFn.shtml

相关文章

计算机修改人类记忆曲线,遗忘曲线

遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现,描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述,人们可以从遗忘曲线中掌握遗忘规律并加以利用,从而提升自我记忆能力。该曲线对人类记忆认知研究产生了…

艾宾浩斯记忆遗忘曲线-背单词

复习点的确定(根据艾宾浩斯记忆曲线制定): Joe.Smith法-背单词-复习曲线 1. 第一个记忆周期:5 mins 2. 第二个记忆周期:30 mins 3. 第三个记忆周期:12 hours 4&…

艾宾浩斯遗忘曲线-计划表30天

遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现,描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述,人们可以从遗忘曲线中掌握遗忘规律并加以利用,从而提升自我记忆能力。该曲线对人类记忆认知研究产生了…

学习曲线和遗忘曲线

学习曲线的定义为"在一定时间内获得的技能或知识的速率",又称练习曲线(practice curves)。 人们为了知道学习进程中的现象和进步的快慢的详情,作为以后努力的指针,应用统计图的方法作一条线,把它…

浅读艾宾浩斯遗忘曲线

从网上找的一些资料显示, 时间间隔记忆量刚刚记忆完毕100%20分钟后58.2%1小时后44.2%8-9小时后35.8%1天后33.7%2天后27.8%6天后25.4%1个月后21.1% 遗忘的曲线和内容有关,也和个人有关。有很多次,把事情忘记,或者是记错&#xff0…

Mybatis-plus sql语句 LT、LE、EQ、NE、GE、GT

allEq 全部eq(或个别isNull) allEq(Map<R, V> params) allEq(Map<R, V> params, boolean null2IsNull) allEq(boolean condition, Map<R, V> params, boolean null2IsNull)例1: allEq({id:1,name:“老王”,age:null})—>id 1 and name ‘老王’ and ag…

LT6105电流检测放大器介绍

概述&#xff1a; LT6105是一款微功率&#xff0c;高精度电流检测放大器&#xff0c;具有非常宽的输入共模范围。 LT6105通过外部检测电阻上的电压监测单向电流。输入通用相对于负电源电压&#xff08;V-&#xff09;&#xff0c;模式范围从-0.3V延伸至44V。这使得LT6105可以用…

LinuxShell脚本比较运算符, -gt, -lt; > < 的区别

今天写centos脚本的时候,遇到了一个问题, 条件不是按照我预设的方向。卧槽。蒙了都。 原始代码如下&#xff1a; #!/bin/bash # 定义 a 1111 a1111# 如果 a 大于 999 则打印 "大于"; 操蛋的是这里并不会打印 if [[ ${a} > 999 ]]; thenecho "大于" f…

Linux下lt8911exb调试总结

调试lt8911exb花了两天时间&#xff0c;总结下 ic功能介绍:mipi转eDP http://cn.lontiumsemi.com/UploadFiles/pdf/LT8911EXB_Product_Brief.pdf github下有驱动源码&#xff0c;可以直接使用(mipi配置的是burst模式) https://github.com/aystshen/lontium_lt8911exb_driver…

java中的lt;和gt;分别是什么意思

今天在做java笔试题的时候&#xff0c;有一题出现了这个符号&#xff0c;由于我不认识这个符号就做错了&#xff0c;题目如下&#xff1a;   这题的答案是A,而我选了C,后面百度才知道<的意思是小于( < )符号&#xff0c;在用markdown写文章的时候&#xff0c;就会显示…

[RK3399][Android8.1] 调试记录 --- LT9611驱动调试

Platform: RK3399 OS: Android 8.1 现象: 使用LT9611实现MIPI TO HDMI输出功能&#xff0c;使用官方提供驱动后HDMI输出时有时无&#xff0c;并且很不稳定 问题1 1.开机HDMI没有输出&#xff0c;根据打印发现问题是HDMI输出为0&#xff0c;但是系统认为已经输出 &#xff…

一款mipi转lvds的lcd调试(lt8912b)

一款mipi转lvds的lcd调试&#xff08;lt8912b&#xff09; 客户调试一款mipi转lvds的屏&#xff0c;使用的转换芯片是lt8912b。现将调试过程做个记录。 这款芯片之前在别的客户项目上调试过&#xff0c;但是这个客户的板子上存在如下问题&#xff1a;配置好设备树和驱动后&…

Linux下lt9211调试总结

LT9211支持mipi转lvds&#xff0c;参考原理图如下 先拿到代码移植好后&#xff0c;接上屏幕看效果。 一开机&#xff0c;屏幕在不断的刷红绿蓝的图片&#xff0c;参考lcd的datasheet&#xff0c;如果没有检测到lvds信号&#xff0c;就在屏幕的测试模式。 说明&#xff0c;背光…

Linux下lt9611调试总结

lt9611是一款mipi转hdmi的芯片&#xff0c;项目中有使用到&#xff0c;分享下调试经验。 参考设计 要先拿到源码&#xff0c;然后进行调试。刚好代码默认有一份驱动&#xff0c;那不就折腾了。适当修改后&#xff0c;接hdmi屏幕进行测试&#xff0c;i2c能正常通信&#xff0c;…

正线性稳压器 (LDO)—— LT1763

正线性稳压器 (LDO) LT1763 500mA、低噪声、LDO 微功率稳压器 先上百科&#xff1a;LT1763百度百科 LT1763 LT1763 系列是微功率、低噪声、低压差稳压器。这些器件能够提供 500mA 的输出电流和一个 300mV 的压差电压。该系列专为在电池供电型系统中使用而设计&#xff0c;30…

第一颗国产HDMI 1.4 至 TTL / 2 端口 LVDS 芯片LT8619C

1. 说明 Lontium 的 LT8619C 是一款高性能 HDMI / 双模 DP 接收器芯片&#xff0c;符合 HDMI 1.4 规范。TTL 输出可支持 RGB、BT656、BT1120&#xff0c;输出分辨率可支持高达 4Kx2K30Hz。为了便于实现多媒体系统&#xff0c;LT8619C 支持 8 通道高质量 I2S 音频或 SPDIF 音频输…

互联网指标

1、LT arpu值、lt、ltv LT&#xff1a;Life Time&#xff0c;即生命周期。 理论上的计算&#xff1a; 互联网公司中&#xff0c;需要获取用户的“生命周期”&#xff0c;即用户使用该产品的时长&#xff0c;该时长应该是所有用户的平均时长&#xff08;天数&#xff09;。 …

html使用的特殊符号lt; gt: amp;等 意义对照

html使用的特殊符号< &gt: &amp;等 意义对照

软件需求跟踪矩阵例子

1&#xff0c;例子 2&#xff0c; 3 4&#xff0c;