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

作者:信息科学    来源:未知    发布时间:2019-12-18 20:30    浏览量:
1. 独立思考

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

为anaconda的jupyter notebook设置初始化目录

在使用jupyter进行编程时,初始化目录可能不是自己想要的目录,那么下面讲解修改成自己想要的目录。

1) 在命令行中输入:

jupyter notebook --generate-config

会产生一个配置文件
我的会显示:

Writing default config to: C:Usersjplee.jupyterjupyter_notebook_config.py

2) 找到对应的文件,搜索c.NotebookApp.notebook_dir,将前面的#注释去掉,在后面填上自己想要设置的初始化目录。比如我设置成:

c.NotebookApp.notebook_dir = u'D:Python'

以后就会将'D:Python'这个目录成为初始化的目录。

3)找到Jupyter Notebook的快捷方式,右键打开属性,将“目标”最后的“User Profile”去掉,将“起始位置”修改为初始化目录。

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

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

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

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

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

4、简单实例

本文在Jupyter Notebook中完成,体现数据分析中“文学编程”的理念。下面的例子代码、结果和文本很好地结合在一起。

# 定义两个列表变量
x = range(20)
y = [i ** 2 + i * 2 - 3 for i in x]
# 引入matplotlib模块绘图
%matplotlib inline
import matplotlib.pyplot as plt
plt.scatter(x,y)
plt.show()

图片 1

output_5_0.png

再来一个三维绘图的实例,当然事先需要安装mpl_toolkits模块:
pip install mpl_toolkits

import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

# 具体函数方法可用 help(function) 查看,如:help(ax.plot_surface)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')

plt.show()

图片 2

output_7_0.png

我们可以在这里写下对数据和图形的分析,最终形成完整的分析报告。

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

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

5、文学编程

  • 为了能与同行们有效沟通,你需要重现整个分析过程,并将说明文字、代码、图表、公式、结论都整合在一个文档中。显然传统的文本编辑工具并不能满足这一需求,所以这儿隆重推荐数据分析神器 Jupyter Notebook,不仅能在文档中执行代码,还能以网页形式分享。
  • 文学编程 ( Literate programming ),这是由 Donald Knuth 提出的编程方法。传统的结构化编程,人们需要按计算机的逻辑顺序来编写代码;与此相反,文学编程则可以让人们按照自己的思维逻辑来开发程序。
  • 简单来说,文学编程的读者不是机器,而是人。 我们从写出让机器读懂的代码,过渡到向人们解说如何让机器实现我们的想法,其中除了代码,更多的是叙述性的文字、图表等内容。这么一看,这不正是数据分析人员所需要的编码风格么?不仅要当好一个程序员,还得当好一个作家。那么 Jupyter Notebook 就是不可或缺的一款集编程和写作于一体的效率工具。
2. 在官网下载 anaconda 很慢,下不下来怎么办?

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

3、安装PyCharm

PyCharm是目前最流行的用于Python开发的IDE,课程中主要用来开发稍大的程序。提供智能提示、调试、即时语法纠错等功能。
官网下载其最新版本即可。安装完成后,需简单配置其Python解释器、字体等。

4. 总结记录

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

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

图片 3

解密大数据社群公众号

8、安装Jupyter Notebook扩展

以管理员方式打开命令行,执行两条命令:

pip install jupyter_contrib_nbextensions  
jupyter contrib nbextension install --user  

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

设置Anaconda的镜像网站

如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可,在命令行中运行以下命令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --set show_channel_urls yes
4. 用Python做数据分析,有哪些入门资料推荐?

在线视频教程推荐:

  • Intro to Python for Data Science
  • Python for Everybody

书籍推荐:

  • 《利用Python进行数据分析》
  • 《统计思维 》(免费英文版)

2、配置Anaconda

主要配置Anaconda的缺省目录等

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

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

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

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

7、安装Chrome浏览器

安装Chrome浏览器,并将其设为默认浏览器。Jupyter Notebook在IE内核的浏览器中运行体验不是很好,经过试验,Chrome浏览器是最佳选择。

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

1、安装Anaconda

Anaconda是基于Python的科学计算和数据分析的集成环境包,我们安装的是Anaconda 3.6的64位版本,集成了Python 3.6以及在科学计算和数据分析中常用的Python模块,包括numpy、scipy、matplotlib、pandas等。同时提供IPython、Spyder、Jupyter Notebook等流行的开发工具。我们课程主要采用Jupyter Notebook和Pycharm作为开发环境。

5. 有什么简单的方法安装Python吗?

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

关于环境与CODING

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

打开 Jupyter 的三种方式:

  • 找到 Jupyter Notebook 可执行程序,并点击打开。
  • 先打开 Anaconda Navigator, 在其中找到 Jupyter Notebook 打开。
  • 在命令行中输入 jupyter notebook
    创建 notebook 的方式:
    在打开Jupyter Notebook后,进入相应的目录,在界面右上方点击按钮 New
    在下拉菜单中选择 ’Python 2‘ 或 ’Python 3‘。
    打开后不能运行代码,很可能是因为创建了文本文件,而非notebook文件。
2. 求助网络

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

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

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

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

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

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

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

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

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

参考:Data science done well looks easy

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

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

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

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

5. windows系统中打开数据文件,显示很混乱,看不清怎么办?
  • Windows中查看文本推荐 Notepad++
  • Mac中推荐 TextWrangler。

关于数据科学

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中一个默认的字体替换为复制过来的中文字体。
    其他的根本解决问题的方案我都测试过并没有效果,这个方法是目前解决最彻底,对我有效的解决方式,你也可以试一试
6. 我想将自己的数据分析过程分享给大家,有什么好的工具吗?

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

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

conda install jupyter notebook

也可以通过pip安装:

pip install jupyter notebook
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)

关于提问的建议:

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

10. 绘制直方图,设置中文标题时,显示错误 ’SyntaxError: invalid character in identifier‘ 是怎么回事?

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

关于工具

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

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

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

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


关于统计分析

3. 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 具备许优秀的特性。
8. 有什么好用的代码编辑器推荐吗?
  • Windows操作系统推荐 Notepad++
  • Mac操作系统推荐 TextWrangler
9. 常见的数据文件格式有哪些?
  • CSV:全称 Comma Separated Values,即用逗号分隔的数据文件,可以使用Excel打开,也可以用Python或R读入成数据框(dataframe)。
  • JSON:全称 Javascript Object Notation,是便于人和机器读取的轻量数据交换格式。Web服务经常采用此格式来传递数据。
  • SQL:全称Structured Query Language,用于查询关系型数据库表。

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的高。(但注意这只是相关性,并不一定存在因果关系。)
下一篇:没有了

相关新闻推荐

友情链接: 网站地图
Copyright © 2015-2019 http://www.kai-wang.com. AG亚游国际有限公司 版权所有