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

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

这几天一直在看学习方法之类的内容,加上自己在备考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()

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

  1. (转)艾宾浩斯遗忘曲线复习计划表

    http://bbs.jiyifa.cn/read.php?tid=32&fpage=0&page=1 艾宾浩斯遗忘曲线复习计划表    下载 根据< 艾宾浩斯遗忘曲线>制 ...

  2. 基于艾宾浩斯遗忘曲线的英语词汇学习微信小程序——一些思路和想法

    之前想做一个利用艾宾浩斯遗忘曲线规律来背单词的小程序,但是不太知道这么做,参考查阅了很多文章,这里整理一下思路. 一.艾宾浩斯遗忘曲线 艾宾浩斯遗忘曲线的具体应用是利<复习点>来重复学习单 ...

  3. 艾宾浩斯遗忘曲线PHP,艾宾浩斯记忆遗忘曲线 复习计划表 网盘下载

    记忆随着时光的流逝而渐趋淡薄,这是每个人都会有的感受.但是到底在什么条件下记忆才淡薄的呢?它有什么规则可循呢?法国心理学家艾宾浩斯(1850-1909)在1885年发表了他的实验报告后,记忆就成为心理 ...

  4. Python:根据艾宾浩斯遗忘曲线计算复习日期

    前言:最近开始复习考研英语了,每天做阅读记笔记,同时每天需要复习前几天的笔记,考虑到艾宾浩斯遗忘曲线这个东西,便写了一个小脚本来计算每一天记录的笔记需要复习的日期. 函数说明:函数review_tim ...

  5. (转)艾宾浩斯遗忘曲线——记忆与复习

    http://www.ebook99.com/blog/post/197.html 艾宾浩斯遗忘曲线--记忆与复习 <从艾宾浩斯遗忘曲线中可以看出我们如潮水般汹涌的遗忘,从中观察时间间隔20分钟 ...

  6. 艾宾浩斯遗忘曲线复习计划表

    德国有一位著名的心理学家名叫艾宾浩斯(Hermann Ebbinghaus,1850-1909),他在1885年发表了他的实验报告后:人们接触到的信息在经过人的学习后,便成为了人的短时的记忆,但是如果 ...

  7. 艾宾浩斯遗忘曲线PHP,2018考研作文_艾宾浩斯遗忘曲线——记忆与复习_沪江英语...

    这个就是著名的艾宾浩斯遗忘曲线从中可以看出我们如潮水般汹涌的遗忘,从中观察时间间隔20分钟,1小时,8-9小时一天,两天,31天我们不复习会记的所学的百分之多少,对此先给一个复习的方法 复习点的确定 ...

  8. 艾宾浩斯记忆表格excel_Excel全年学习复习计划表(艾宾浩斯遗忘曲线)

    最近准备考在职博士,刷刷学历,不得不又拿起必考的英语来,发现由于这几年敲代码,日常生活词汇忘了很多,只好买本考博词汇背诵,不过三十而立的人背起来确实费劲了,所以开始寻找好的背诵方法. 又想起了当年步步 ...

  9. java编辑遗忘曲线代码_通过excel vba 实现艾宾浩斯遗忘曲线的复习提醒

    1.实现原理: 艾宾浩斯seid一个知识点学习后要复习8次后可达到永久记忆(这个还有待验证...),其复习间隔时间分别为1d.2d.4d.7d.15d.30d.90d.180d. 2.实现效果: 在一 ...

  10. 心理学教授谈记忆魔法--艾宾浩斯遗忘曲线(转帖)

    人的大脑是一个记忆的宝库,人脑经历过的事物,思考过的问题,体验过的情感和情绪,练习过的动作,都可以成为人们记忆的内容.例如英文的学习中单词.短语和句子,甚至文章的内容都是通过记忆完成的.从" ...

最新文章

  1. 笔记 - ES6 - 学前浅析
  2. hdu1305Immediate Decodability(字典树)
  3. Grpc+Grpc Gateway实践二 有些复杂的Hello World
  4. FPGA的设计艺术(5)STA实战之时钟偏斜对建立保持时间的影响以及时序报告分析
  5. python中的系统模块_python中一些获取系统信息的模块
  6. python把一堆图片分成n份,用Python一键生成炫酷九宫格图片,火了朋友圈
  7. Manjaro 17 搭建 redis 4.0.1 集群服务
  8. python 串口_如何使用Python开发串口通讯上位机(一)
  9. 8.对Hello World程序的深入
  10. opencv运动目标跟踪预测_基于Opencv的运动目标的检测和跟踪.pdf
  11. f函数java_Java流:对N-1个元素执行f(),对N个元素执行g(),即,最后一个元素使用不同的函数...
  12. python调包侠_sklearn调包侠之K-Means
  13. [STL][C++]LIST
  14. 前端制作动画的几种方式(css3,js)
  15. 产品经理这个梗是怎么来的?
  16. Another app is currently holding the yum lock; waiting for it to exit
  17. DevC++的一些使用技巧
  18. 如何从微博安装包里提取微博表情包?
  19. 小秘书的福音——使用Word VBA打造自动排版工具
  20. 华为云学院-人人学loT学习笔记- 第五章 操作系统 轻量开源

热门文章

  1. Mac的Adobe Creative Cloud无法连接至服务器解决方法
  2. 小白可以来看看磁盘与文件管理实验
  3. Excel 2010 VBA 入门 126 批量设置控件属性
  4. 《c语言 从入门到放弃》,从入门到放弃的?单片机这样做很容易!
  5. bootstrap-toastr 消息通知插
  6. 5V 升压 8.4V供电5V 转转 8.4V 做两节锂电池充电芯片FS2114
  7. 【icourse163】学习python爬虫的代码整理
  8. vue下载与安装详细教程
  9. uniapp中使用moment.js日期插件
  10. 老机器上安装了kubuntu先尝试安装Manjaro但是鼠标按键无法使用彻底解决办法