Python 做数据分析和简单可视化教程推荐哪个?

2018-08-25 14:37:08 +08:00
 JackieMe

本人研究生,最近老板接触到国外的大型医疗数据库,想用这个挖点东西发点小文章。

数据库是 PostgreSQL,之前会 R。但是看别人的代码清一色用 Python 写,就打算也转 Python 了。目前是 Debian Linux 环境,所以轻轻松松就有了 conda 环境了。

但是学数据分析的时候,首先是 Python for Data Analysis,https://github.com/wesm/pydata-book 以及中文版 https://github.com/iamseancheney/python_for_data_analysis_2nd_chinese_version。感觉讲得是不错,但是大多数书本一样,不贴近实践。

然后是 YouTube 的 Data School 小哥录的 Data analysis in Python with pandas: https://www.youtube.com/playlist?list=PL5-da3qGB5ICCsgW1MxlZ0Hq8LL5U3u9y 这个倒是实践,很好。但是又太简单也切碎片化,满足不了实际情况所需。

所以请 V 友们推荐个好教程,书也可以。先谢谢啦!

2937 次点击
所在节点    Python
12 条回复
liprais
2018-08-25 14:47:28 +08:00
你想干啥就学啥呗
imn1
2018-08-25 15:23:05 +08:00
我只说一句:数据分析,和用数据分析是两件事
搞清楚了再去做
p2pCoder
2018-08-25 15:54:54 +08:00
《 Python for data analysis 》一书还行,感觉能满足大部分需求
至于你说的不贴近实践,觉得楼主可能是太想一下了解自己需要处理的相关数据的数据处理方法了,这种想法是很难找到一个直接范本的,市场上的大多数 Python 数据分析教材或者课程都是以金融为切入点,都是紧贴实践的,楼主要了解医疗数据分析相关,还是多看看 github 上相关开源项目

pandas. numpy. matplotlib 以及后面可能用到的 sklearn 都是程序包,学习也是熟悉 api,先不用太深入,有了具体使用场景之后再深入

我不是数据分析,但是读过 Python for data analysis,平时也和数仓 BI 业务对接较多,也为负责公司的一些机器学习模型的 具体部署, 感觉数据分析在数据的所有应用中算简单的,但是你要有数据产品经理意识,了解具体坐哪些数据分析有价值
JackieMe
2018-08-25 16:22:10 +08:00
@p2pCoder 是的,可能是我太着急。然后加上之前是会 R 的,Python 虽然也很简单,但是具体到数据处理其实没有 R 直观,然后又加上二者在数据处理时有很多相似点,所以又很容易搞混。
不管怎样,打算先把 YouTube 视频看完,反正才 30 个,已经看了一半了。Py4DS 大概也是要看完吧。
wocanmei
2018-08-26 07:44:57 +08:00
谁说代码清一色是 python 啊,数据分析师 r 用的比 python 多啊,我觉得你既然熟悉 r,就专注 r 啊,r 学会了作用是一样的,而且我认为数据分析最终拼的是统计学相关的硬核知识,而不是某个语言,虽然有时候某个语言比另一个语言可能方便点,但不影响大局
JackieMe
2018-08-26 10:14:57 +08:00
@wocanmei 没有,主要是我学的东西资料比较少,然后仅有的一些资料基本上都是 Python 的,所以学起来一直 R 和 Python 两边还要切换一下,最后想那干脆学一点 Python 算了。
qile1
2018-08-26 14:17:00 +08:00
我也想了解楼主想统计个啥,怎么统计,现在就把检验方面的接收审核的百分位数,中位数等统计下,用 redash 显示,统计下危机值啥的,别的不知道有啥挖掘的
focusheart
2018-08-26 16:29:13 +08:00
书和网络教程你找的就挺好的呢,没有额外推荐的呢呢,不过有一点经验分享一下。
你说的书和还有视频是 Python 数据分析基础,从数据采集,清洗预处理,统计,挖掘到最终展示的过程大都会涉及到。在日常做 Python 数据分析时,其实用的技术基本就是书里的一部分知识点,再配合一些业务知识,最终做点东西出来。不过,业内各种不同工程向的数据分析和发论文的数据分析在技术要求、方法以及展示方面的侧重点不一样,一定要先明确自己的目标,否则看了书学了视频也可能无从下手。
如果目标是发论文的话,先找好研究问题和创新点,看看待投期刊或会议的文章的数据开发工作量的要求和分析的方法,再规划一下你的文章的数据和方法,之后看看你需要用 Python 的技术解决哪些问题以及最终要什么效果,最后找导师讨论一下你的整个想法。就我同学发医学类文章的经验来说,他们数据处理都是 Excel 做的,统计部分都是用 SPSS 做的,毕竟文章的创新点并不在如何用 Python 处理数据,而是 idea 和实验本身。
希望对你有所帮助,祝顺利发 paper~
JackieMe
2018-08-26 16:45:34 +08:00
@qile1 是个临床病历数据的数据库,病例数很大,能做的还是很多的。不过你说的东西我有一半没看懂,感觉有错别字或者你没说清楚。
JackieMe
2018-08-26 16:53:25 +08:00
@focusheart 谢谢啦。
期刊这些都好说,医学期刊很多,加上我这个本来就是临床数据的数据库,所以看你能做出什么结果,从中文到灌水一两分的 SCI 到上 10 分的期刊都有。目前就是 idea 老板倒是有,但是我数据库还没有摸熟,所以组会老板一直也在催我。
现在就是第一,SQL 得学到非常溜,这是我现在最大的问题,然后就是 R/Python 做清洗、探索分析和数据展示了。统计的话考虑要么放到 R 要么还是用 SPSS 了,不过这是后话了。
想学 Python 主要是这个数据库本身提供一些 Tutorial 以及别人发文章用过的代码给到 GitHub,基本上都是 SQL + Python 这么来的,我之前用 R 所以想看他们的东西想还是学点 Python 比较方便。天天看 SQL 非常枯燥,而且本身数据库太大了,R 里面随便乱试的话经常爆内存。所以还是看别人的代码边看边学比较快。
focusheart
2018-08-26 19:07:43 +08:00
@JackieMe 不客气:)感觉你思路挺清楚的。的确如你所说,看别人的代码,运行起来跑通流程会比较快,也能节约自己的时间。那么,结合数据库的现状和目标,首要解决的就是把从数据库到出结果的整个流程顺溜的跑起来。然后,把别人代码里涉及到的主要 SQL 掌握好,能自己写出来各种查询,同时把数据库的关键表、字段都都搞清楚含义,能够实现查询自己需要的数据。最后,再借鉴着学习用 Python 做数据清洗。
在这个整个过程里,特别是用 Python 的时候,建议学习使用 Jupyter Notebook 作为交互分析环境。这个工具对于探索性数据分析很有帮助,用 conda 安装也很容易。从 SQL 取数据,到 Python 清洗,到统计,到结果展示,到生成论文用的 EPS 图片等,都可以在这个工具中实现。
JackieMe
2018-08-26 22:25:55 +08:00
@focusheart 嗯嗯,目前确实是 Miniconda + Jupyter 的搭配。只是刚从 R 转过来,感觉 Python 要麻烦许多,还需要一段时间摸索和适应。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/483139

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX