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

关于环境与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中一个默认的字体替换为复制过来的中文字体。其他的根本解决问题的方案我都测试过并没有效果,这个方法是目前解决最彻底,对我有效的解决方式,你也可以试一试

  1. 绘制直方图,设置中文标题时,显示错误 ’SyntaxError: invalid character in identifier‘ 是怎么回事?
    代码一般都是英文输入,当与中文混排时,特别要注意中英文的切换,该同学使用了中文输入法下的括号,导致出错。
  2. 下载Anaconda后无法安装怎么办?
    首先确定安装的版本与系统配置是否一致;
    其次查看下载的是图形界面安装包还是命令行安装包,两者的安装方式不一样;
    第三,查看下载的安装包大小与官网给出的大小是否一致,很可能没下载完成。如果是情况三,建议使用国内镜像下载,回到问题2查看镜像地址。

关于数据科学

  1. 什么是数据科学(Data Science)?
    数据科学是用科学的方法从各种结构化、非结构化数据中提取有用信息的一门交叉学科。通过数据收集、清洗、分析、可视化等过程,用数据来回答特定领域的问题。它涉及多个领域的技术和理论,包括数学、统计、信息科学、计算机科学,尤其是机器学习、数据挖掘、数据库、可视化等分支领域。(参考维基百科)
  2. 数据科学中都有哪些职业角色?
    数据科学家(data scientists):有人这样描述数据科学家, 他们比统计学家更懂编程,而比软件工程师更懂统计。虽然数据科学家和数据分析师有相同的工作目标,即从大量数据中发掘价值,但显然数据科学家需要更精湛的技能,他们能完成端到端的数据科学项目,建立并微调数据分析的各类模型,并能从事开放问题的研究等等。

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

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

  1. 数据科学的工作流程是怎样的?
    虽然数据分析是一个不断迭代的过程,而且不同的步骤会有些交叉,但我们依然可以将该过程简化为以下7个步骤:
    明确问题
    收集原始数据
    数据清洗
    数据探索
    应用模型进行深度分析
    传达分析结果
    使分析过程可再现

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

  1. 从事数据科学所需要掌握的技能都有哪些?
    要从事数据科学,我们需要从数学知识、计算机知识、专业知识这三个维度来考虑。
    具有分析思维。
    基本的大学数学知识,包括微积分和线性代数。
    统计学知识,包括描述统计学和推论统计学。
    编程基础,如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

  1. 我该采用哪种编程语言做数据分析呢?Python 还是 R ?
    Python和R语言都是数据科学中常用的编程语言,时常有关于该使用哪一种语言的争论,但真是仁者见仁智者见智了。作为一名出色的数据科学家,两种语言都应该掌握。但作为初学者该先学哪一种语言呢?我们推荐Python,下面列出了这Python和R的比较,供您参考。
    使用人群:程序员使用Python较多,而研究人员多使用R语言。
    句法:Python具有类似英语的句法结构,使得代码更易理解。R的句法与其他程序语言有些区别,不太常见,对有一定编程基础的同学容易造成理解障碍。
    学习曲线: 由于以上句法的原因,R 比 Python 难学一点。Python非常适合编程入门的学习者。
    热门程度:在Github上最受欢迎的程序语言排名中,Python总是位列前五,而R语言则徘徊在前10以外。
    数据分析工具包:Python作为多用途的程序语言,在数据分析工具包方面的确做的没有R语言好。但是Python也有像Pandas这样专门用于数据分析的模块。
    薪水:平均来看,使用R语言的数据科学家平均薪水比使用Python的高。(但注意这只是相关性,并不一定存在因果关系。)

  2. Python的版本该如何选择?
    目前Python有两类版本,Python 2.7.x 和 Python 3.x,大部分的Python库都同时支持这两者。大多数情况下 Python 2.7 的代码都能在Python 3 中运行,不过要注意print
    语句。当然大部分新引入Python 3 的特性则不会反向集成到 Python 2.7中。
    在这里推荐使用 Python 3,理由如下:
    Python 2.7 将在2020年停止维护。
    IPython将停止对Python 2 的支持,IPython 6.x 将只支持 Python 3。
    Python 3.6 具备许优秀的特性。

  3. 用Python做数据分析,有哪些入门资料推荐?
    在线视频教程推荐:
    Intro to Python for Data Science
    Python for Everybody

书籍推荐:
《利用Python进行数据分析》
《统计思维 》(免费英文版)

  1. 有什么简单的方法安装Python吗?
    推荐安装 Anaconda,它是一个开源的Python发行版本,包含了conda、Python等180多个科学包及其依赖项。使用Anaconda的好处是安装简单,并且无需为众多的工具包和安装环境而烦扰。
  2. 我想将自己的数据分析过程分享给大家,有什么好的工具吗?
    推荐Jupyter Notebook,这是一款展示数据分析过程的利器。不仅能在文档中执行Python代码,更可以将文本、数学公式、代码、图表编辑在同一文件中,用web网页的形式展现出来。
    如果你安装了Anaconda,则自动包含了Jupyter。如果在conda环境下,使用如下方式安装:
    conda install jupyter notebook

也可以通过pip安装:
pip install jupyter notebook

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

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

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

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

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

  1. 有什么好用的代码编辑器推荐吗?
    Windows操作系统推荐 Notepad++
    Mac操作系统推荐 TextWrangler

  2. 常见的数据文件格式有哪些?
    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. 总结记录
    在问题解决后,并非万事大吉,你需要将问题以及解决办法总结写下来,避免以后遇到类似的问题。更欢迎写成心得文章投稿到的“解密大数据”专题。

作者:波罗学链接:http://www.jianshu.com/p/0b0b7c33be57來源:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(数据分析入门常见问题汇总【转】)