不好意思,让你久等了。快来一起享受用 Python 分析数据的乐趣吧
看到这本书终于印刷了出来,我非常开心。
这本书的内容,来源于我从 2017 年夏天开始,在网络上写的一系列数据科学教程。
写这些教程的时候,我没想过出书的事,只是打算把一个个基础的数据分析功能,给学生们讲明白。很多人觉得我的文章对象感强烈。那是因为我要面对的读者,一开始真的就是我课堂上的学生。
说来也有些尴尬,「第四范式」已经喊出来许多年,许多学生整天念叨起「大数据」,也是头头是道。但是作为情报专业的研究生或者信管高年级本科生,真让他们分析数据,往往双手一摊,告诉我:
老师,数据分析得编程啊。太难,我学不会。
没办法,我首先要讲解给他们的,并不是具体的编程操作和分析流程,而是让他们扭转观念:
看,写这几行代码,你就能把一个复杂的词云做出来。
一旦发现了这种「低投入」与「高产出」的强烈反差,他们的兴趣立即被激发起来。原本的行动障碍,也会被消弭于无形。
词云那个教程,我当初是在课堂上当场编程演示的。学生们都跟着学(玩)得特高兴。我觉得这种喜悦和希望应该分享给更多人,于是就有了数据科学教程的第一篇。
几年下来,日积月累,数据科学的教程,我写了好几十篇。其间 2018-2019 年,我去了美国访学,依然没有间断教程的输出。教程的内容,是越来越深入的。从一开始的描述性统计分析与可视化,简单的文本处理与情感分析,一直到深度神经网络,甚至是 Transformers 预训练模型。
每一篇教程发布前,我都反复打磨,原则就是必须让我课堂上的学生能够听懂。
读者在后台,不断给我反馈问题。例如程序执行报错了,结果图无法显示,或者安装软件包失败…… 我也针对其中某些代表性的问题,写了若干答疑篇目。这个过程中,我深刻体会到了「教学相长」的含义。写教程绝不能是「自说自话」,必须要建立起双向的反馈环。
学生若获得不到实践的反馈,就无法真正掌握知识。如果遇到问题找不到及时的解决方法,就会丧失进取的动力。
老师倘不能获得学生的反馈,便会对自己讲解的效果没有把握,也找不到有效的改进方向。
许多读者,并不是来提问的 —— 他们不断跟我分享他们的收获、喜悦和实践成果。有人用了我文章里的分析流程,成功发表了核心期刊;有人用自己做出来的分析结果,成功入职心仪的企业和机构。
看到读者提出问题,我很开心。因为找到了读者学习真实的痛点,我的后续写作也就有了主题。看到读者反馈中的收获,我更开心。作为一名教师,我已经习惯了把学习者的成就当作最好的回馈和奖励。这些留言,给我的系列教程写作,注入了源源不断的动力。
而另一种反馈,就比较让我挠头了 —— 催我出书。
这里面,有亲友、同事、学生,也少不了各大出版社的编辑们。
书该不该出?当然应该。网上的系列教程,写得再有层次,也会遭遇一个问题。
读者可能是从其中某一篇切入的,之后他难得有机会把全部教程都照着走一遍。只学当前的一篇,或许可能解决手头的问题。但我们都知道,只有系统化的学习,才能真正沉下心来,切实掌握一门技艺。
不瞒你说,我的一个研究生,就是在研二的暑假才终于开窍,下了这种苦功夫。把所有教程真正动手实践一遍之后,跟我感慨地反馈,收获太大了。可惜,这时候时间所迫,他也只能忙毕业论文和找工作了。
说来也很可惜,许多师长耳提面命的教训,我们当时都会觉得是耳旁风。只有经过见过,栽过跟头,才能理解吧。不过在这一点上,我是没有资格训学生的,因为自己身上的教训已经太多了。
但是能这样从头到尾按照系列教程来实践的,毕竟是少数。还是用系统化的书籍来条分缕析、娓娓道来,更为妥当。尤其是对于课堂讲授来说,让学生拿链接看网文对照实践这种方法,显得很不严肃。我的同事翟羽佳老师从 2018 年就已经深刻体会到这种痛点了。他说:
王老师,出书吧,天天上课让学生看公众号的日子,我受不了了。
但我这人,是典型的拖延症重症患者。我经常说这话,他们不信。说没见过拖延症患者写那么多字儿的。写教程这事儿,我让你误以为勤快,只是因为乐在其中。重新大刀阔斧进行系统化组织数十篇教程内容,变成书籍,我想想那其中琐碎的细节,都觉得头疼,难有切实行动。于是,我一直跟各种催书的读者说:「内容不够,再沉淀积累一下」。
这话说多了以后,连我自己都不信。
幸亏,我周围有许多可亲可敬的好友,不仅在催促,而是真正在帮助我。
例如翟羽佳老师,在反复催促无果后,主动提出承担内容系统化组织的工作。他还带领学生团队,对很多过期的代码(一开始的若干教程里,还是用彼时流行的 Python 2.X 版本代码来讲解)进行了梳理调整。这极大降低了我的负担。让我可以抽出时间来,做了一系列的视频教程,使你在拿到这本书后,可以通过扫码的方式,看到重点部分更为详细的视频讲解与演示。
经翟羽佳老师体系化梳理之后,本书共分成了 10 章,覆盖了数据获取、数据预处理、数据分析等方面的内容。
在本书前言中,我们归纳总结了全书的特点,希望能对读者有所帮助:
本书以问题为导向。用例子讲明白如何用合适的工具,简单、高效地解决问题。
本书中的解决问题的方法完全可以复制。教程必须给出全部的代码和步骤流程。使读者参考后就能上手,获得结果。
本书尽量避免了数学公式和一大堆晦涩难懂的术语。即便使用术语,本书也仔细地解释清楚了。
Python 语言布道者,蟒营创始人 ZoomQuiet (江湖人称「大妈」)牵线搭桥,联系了卷积传媒的创始人高博先生(《信息简史》的译者),一次在线会议就直接把我推上了图书出版的行动轨道。
感谢人民邮电出版社的赵祥妮编辑和卷积文化的周文皓先生,他们认真细致而高效地为这本书稿做了许许多多的编辑、修改和审校工作,提出了很多宝贵的意见。
我虽然有拖延症,但幸运的是周围这些朋友都是高效能人士。他们决策果断、行动迅捷。跟着他们在一起工作,我几次想要犯懒拖延,都没有机会。
感谢南京理工大学章成志教授和开源社理事长庄表伟先生为本书撰写热情洋溢的推荐语。感谢一路走来,两位老兄给予我的鼓励与支持。
感谢我的导师,南开大学王知津教授一直以来的鞭策和鼓励。王老师不仅肯定支持我写教程的举动,还多次当面嘱咐我抓紧出书。听到图书终于出版的消息,王老师非常欣喜。
感谢你,我的长期读者。在这一千多个日日夜夜里,你的阅读、点赞、评论和分享,给了我更加充足的前进动力。
10 月 13 日(周三)晚上 7 点半,我会应人民邮电出版社的邀请,用一场直播给你介绍这本书,尤其是怎么用它来更高效地学习数据科学。届时会有一些读者福利现场送给你,别忘了上好闹表哦。具体信息,后续在 这个链接更新。
祝进步!
延伸阅读
如果你觉得本文有用,请点赞。
如果本文可能对你的朋友有帮助,请转发给他们。
欢迎关注我的专栏「科研利器」,以便及时收到后续的更新内容。