数据分析入门常见问题汇总

简书不维护了,欢迎关注我的知乎:波罗学的个人主页

本文由 泰阁志-解密大数据 共创课程出品

非常感谢余老师为大家总结的常见问题FAQ。

关于环境与CODING

1. 什么是终端(命令行窗口)?在哪里打开?

终端是一个基于文本的用来查看、 处理、 和操作您的计算机上的文件的应用程序。
打开方法:Windows系统,在程序中查找 cmd; Mac系统,在Spotlight中查找terminal。
更多内容可参考 命令行界面简介

2. 在官网下载 anaconda 很慢,下不下来怎么办?

(感谢李斯龙同学提供的解决方案)
使用国内镜像地址下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

3. 安装完anaconda,在命令行中输入 conda upgrade -all 后,显示找不到 conda 命令怎么办?

(感谢李佳同学提供的答案)
一般是环境路径设置的问题,需要添加conda环境变量:
export PATH=xxx/anaconda/bin:$PATH
将xxx替换成anaconda的安装路径。

4. 如何创建 Jupyter Notebook?为什么我打开后不能执行代码?

打开 Jupyter 的三种方式:

  • 找到 Jupyter Notebook 可执行程序,并点击打开。
  • 先打开 Anaconda Navigator, 在其中找到 Jupyter Notebook 打开。
  • 在命令行中输入 jupyter notebook
    创建 notebook 的方式:
    在打开Jupyter Notebook后,进入相应的目录,在界面右上方点击按钮 New
    在下拉菜单中选择 ’Python 2‘ 或 ’Python 3‘。
    打开后不能运行代码,很可能是因为创建了文本文件,而非notebook文件。
5. windows系统中打开数据文件,显示很混乱,看不清怎么办?
  • Windows中查看文本推荐 Notepad++
  • Mac中推荐 TextWrangler。
6. 导入数据出错,找不到文件怎么办?

首先要确认文件路径是否写正确,最简单的方法是将数据和notebook文件放在同一个文件夹下,这样导入数据时只需要写数据文件名即可。

7. 当我使用 pd.read_csv 时显示错误 ’NameError: name 'pd' is not defined‘ 是怎么回事?

一般都要先导入相应的Python模块才能使用其提供的方法。这里就需要先导入pandas模块,使用 import pandas as pd

8. 关于绘制直方图,使用 plt.hist() 画出的图形每一竖条都是相连的,没有竖线分隔怎么办?

可使用参数 rwidth 来设置每个竖条的宽度,这样竖条之间就有空白可以间隔了。比如 plt.hist(data, rwidth=0.9)

9. 绘制直方图时,中文标题无法显示怎么办?

一般默认是英文,可在绘图前做如下设置。

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签   
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 

如果系统中没有相应的字体,可考虑方案二
(mac系统,由周瑞珍、李斯龙同学提供):

from matplotlib.font_manager import *
myfont = FontProperties(fname='/Library/Fonts/Lantinghei.ttc')
plt.title(u'体重直方图',fontproperties=myfont)

Lantinghei.ttc是系统fonts目录下的一个字体文件,如果该目录下没有这个文件也可以改成其他的中文字体文件

(Windows系统,李佳同学提供的 matplotlib中文显示根本的解决办法)
进入python的安装目录,Lib/site-packages/matplotlib/mpl-data找到matplotlibrc配置文件

  • 打开配置文件,找到下面这行
    #font.serif : Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
    然后将前面的注释符号去掉
  • 找到中文字体放到matplotlib字体库中
    在windows文件夹下,C:/Windows/Fonts/Microsoft YaHei UI复制该字体,然后粘贴到Lib/site-packages/matplotlib/mpl-data/fonts/ttf文件夹下,并且重命名为Vera.ttf
    注释:雅黑字体的文件后缀为ttc,可更改为ttf。至于为什么要重命名,这一步实际上是把matplotlib中一个默认的字体替换为复制过来的中文字体。
    其他的根本解决问题的方案我都测试过并没有效果,这个方法是目前解决最彻底,对我有效的解决方式,你也可以试一试
10. 绘制直方图,设置中文标题时,显示错误 ’SyntaxError: invalid character in identifier‘ 是怎么回事?

代码一般都是英文输入,当与中文混排时,特别要注意中英文的切换,该同学使用了中文输入法下的括号,导致出错。

11. 下载Anaconda后无法安装怎么办?
  • 首先确定安装的版本与系统配置是否一致;
  • 其次查看下载的是图形界面安装包还是命令行安装包,两者的安装方式不一样;
  • 第三,查看下载的安装包大小与官网给出的大小是否一致,很可能没下载完成。如果是情况三,建议使用国内镜像下载,回到问题2查看镜像地址。

关于数据科学

1. 什么是数据科学(Data Science)?

数据科学是用科学的方法从各种结构化、非结构化数据中提取有用信息的一门交叉学科。通过数据收集、清洗、分析、可视化等过程,用数据来回答特定领域的问题。它涉及多个领域的技术和理论,包括数学、统计、信息科学、计算机科学,尤其是机器学习、数据挖掘、数据库、可视化等分支领域。(参考维基百科)

2. 数据科学中都有哪些职业角色?
  • 数据科学家(data scientists):有人这样描述数据科学家, 他们比统计学家更懂编程,而比软件工程师更懂统计。虽然数据科学家和数据分析师有相同的工作目标,即从大量数据中发掘价值,但显然数据科学家需要更精湛的技能,他们能完成端到端的数据科学项目,建立并微调数据分析的各类模型,并能从事开放问题的研究等等。

  • 数据分析师(data analysts):他们研究数据并提供相应的报告或可视化图表。可以将数据分析师看作数据科学家的低配版,即初级数据科学家,一般是从事数据科学工作的第一步。数据分析师不需要具备高深的研究背景来发明新算法,但是他们要熟练掌握现有工具来解决问题。

  • 数据工程师(data engineers):他们是软件工程师的一种,为数据科学家们提供软件基础设施服务,建设强壮的数据管道来清洗、转移、聚合多种杂乱无章的数据,并存放到特定的数据库中。他们需要管理数据库系统,写复杂的查询语句来抽取数据,维护多台服务器,懂得Hadoop等分布式系统。

    参考:3 Data Careers Decoded and What It Means for You

3. 数据科学的工作流程是怎样的?

虽然数据分析是一个不断迭代的过程,而且不同的步骤会有些交叉,但我们依然可以将该过程简化为以下7个步骤:

  1. 明确问题
  2. 收集原始数据
  3. 数据清洗
  4. 数据探索
  5. 应用模型进行深度分析
  6. 传达分析结果
  7. 使分析过程可再现

在一个数据项目中,我们绝大多数的努力一般都将花费在获取和清洗数据(步骤2-3)以及展示分析结果和过程(步骤6-7)上。

参考:Data science done well looks easy

4. 从事数据科学所需要掌握的技能都有哪些?

要从事数据科学,我们需要从数学知识、计算机知识、专业知识这三个维度来考虑。

  • 具有分析思维。
  • 基本的大学数学知识,包括微积分和线性代数。
  • 统计学知识,包括描述统计学和推论统计学。
  • 编程基础,如Python、R语言、SQL语句。
  • 算法知识,如回归、分类、聚类算法等。
  • 数据可视化,将你的分析结果展示出来。
  • 领域专业知识,如商业知识、生物学知识等,视具体分析的问题而定。

更详细的技能清单请参考 Ultimate Skills Checklist for Your First Data Analyst Job


关于工具

1. 数据分析的常用工具都有哪些?
  • SQL:从数据库中抽取数据的程序语言,是数据科学的必备技能。
  • Excel:容易上手,所见即所得,无需编程即可对数据进行运算和作图。
  • R:专门为数据科学而设计的语言,在数据科学领域比Python略微受欢迎些。
  • Python:简单易学,功能强大且丰富,是大学教学中最受欢迎的编程语言。
  • Spark:专为大规模数据处理而设计的基于内存计算的引擎。
  • Tableau:帮人们查看并理解数据,可进行快速分析、可视化并分享结果。
  • 其他:Perl,Matlab,C#,Mahout,Hadoop,Java

以上工具按使用占比排名,数据来源: 2015 Data Science Salary Survey

2. 我该采用哪种编程语言做数据分析呢?Python 还是 R ?

Python和R语言都是数据科学中常用的编程语言,时常有关于该使用哪一种语言的争论,但真是仁者见仁智者见智了。作为一名出色的数据科学家,两种语言都应该掌握。但作为初学者该先学哪一种语言呢?我们推荐Python,下面列出了这Python和R的比较,供您参考。

  • 使用人群:程序员使用Python较多,而研究人员多使用R语言。
  • 句法:Python具有类似英语的句法结构,使得代码更易理解。R的句法与其他程序语言有些区别,不太常见,对有一定编程基础的同学容易造成理解障碍。
  • 学习曲线: 由于以上句法的原因,R 比 Python 难学一点。Python非常适合编程入门的学习者。
  • 热门程度:在Github上最受欢迎的程序语言排名中,Python总是位列前五,而R语言则徘徊在前10以外。
  • 数据分析工具包:Python作为多用途的程序语言,在数据分析工具包方面的确做的没有R语言好。但是Python也有像Pandas这样专门用于数据分析的模块。
  • 薪水:平均来看,使用R语言的数据科学家平均薪水比使用Python的高。(但注意这只是相关性,并不一定存在因果关系。)
3. Python的版本该如何选择?

目前Python有两类版本,Python 2.7.x 和 Python 3.x,大部分的Python库都同时支持这两者。大多数情况下 Python 2.7 的代码都能在Python 3 中运行,不过要注意 print 语句。当然大部分新引入Python 3 的特性则不会反向集成到 Python 2.7中。

在这里推荐使用 Python 3,理由如下:

4. 用Python做数据分析,有哪些入门资料推荐?

在线视频教程推荐:

书籍推荐:

  • 《利用Python进行数据分析》
  • 《统计思维 》(免费英文版
5. 有什么简单的方法安装Python吗?

推荐安装 Anaconda,它是一个开源的Python发行版本,包含了conda、Python等180多个科学包及其依赖项。使用Anaconda的好处是安装简单,并且无需为众多的工具包和安装环境而烦扰。

6. 我想将自己的数据分析过程分享给大家,有什么好的工具吗?

推荐Jupyter Notebook,这是一款展示数据分析过程的利器。不仅能在文档中执行Python代码,更可以将文本、数学公式、代码、图表编辑在同一文件中,用web网页的形式展现出来。

如果你安装了Anaconda,则自动包含了Jupyter。如果在conda环境下,使用如下方式安装:

conda install jupyter notebook

也可以通过pip安装:

pip install jupyter notebook
7. Python 中都有哪些常用的数据分析工具包?
  • numpy: 是一个用Python实现的科学计算包,提供许多高级的数值编程工具,如矩阵表示、矢量计算以及精密计算库。

  • pandas: 是Python的一个数据分析包,提供了高效且易用的数据结构和数据分析工具。

  • matplotlib: 是一个Python的2D绘图库,可以生成出版质量级别的图像。

  • scipy:用于科学和工程计算的Python软件库。

  • scikit-learn:用于机器学习的软件库。

8. 有什么好用的代码编辑器推荐吗?
9. 常见的数据文件格式有哪些?
  • CSV:全称 Comma Separated Values,即用逗号分隔的数据文件,可以使用Excel打开,也可以用Python或R读入成数据框(dataframe)。
  • JSON:全称 Javascript Object Notation,是便于人和机器读取的轻量数据交换格式。Web服务经常采用此格式来传递数据。
  • SQL:全称Structured Query Language,用于查询关系型数据库表。

关于统计分析

1. 做数据分析,需要掌握哪些必备的统计学知识?
  • 描述统计学
  • 平均值、中位数、众数
  • 方差、标准差
  • 统计分布: 正态分布、指数分布、二项分布、卡方分布
  • 推论统计学
  • 假设检验
  • 置信区间
  • 显著性测试
  • 实验设计
  • A/B测试
  • 实验条件控制
  • 双盲测试
  • 幂律分布

关于提问的建议:

1. 独立思考

遇到问题时,首先自己独立思考,通过回顾课件、动手实践来找答案。需要注意的是不要关注错了问题的焦点,有时候问题的解决方法不一定在你原先认为的方向上。

2. 求助网络

自己想不出来时,求助网络。使用Google网上搜索,当中文找不到结果时,采用英文搜索。对于代码错误,可以直接将错误提示拷贝到Google中搜索。 要相信:你所遇到的问题大部分都已经被他人解决过了。

3. 社群讨论

向网络求助无效,并在查看了我们社区建立的答疑讨论区以及FAQ后,仍无结果,那么非常欢迎在答疑讨论区抛出你的问题。

4. 总结记录

在问题解决后,并非万事大吉,你需要将问题以及解决办法总结写下来,避免以后遇到类似的问题。更欢迎写成心得文章投稿到简书的“解密大数据”专题。

致谢:
最后还是非常感谢解密大数据社群的小伙伴们的支持和鼓励,让我们一起成长。

解密大数据社群公众号
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,647评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,690评论 2 374
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,739评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,692评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,552评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,410评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,819评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,463评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,752评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,789评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,572评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,414评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,833评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,054评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,345评论 1 254
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,810评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,016评论 2 337

推荐阅读更多精彩内容