数据分析介绍

1、数据分析是什么?
2、数据分析能干什么?
3、为什么利用Python进行数据分析?
4、数据分析过程概述
5、常用库简介

1、数据分析是什么?

  数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程;

在我们如今这个时代,相信大多数人都能明白数据的重要性,数据就是信息,而数据分析就是可以让我们发挥这些信息功能的重要手段。  

2、数据分析能干什么?

对于数据分析能干什么其实我们可以简单的举几个例子:

1、淘宝可以观察用户的购买记录、搜索记录以及人们在社交媒体上发布的内容选择商品推荐

2、股票可以根据相应的数据选择买进卖出

3、今日头条可以将数据分析应用到新闻推送排行算法当中

4、爱奇艺可以为用户提供个性化电影推荐服务

其实数据分析不仅可以完成像以上这样的推荐系统,在制药行业也可运用数据分析来预测什么样的化合物更有可能制成高效药物等

所以说数据分析绝对是未来所有公司不可或缺的岗位,目前社会上获取数据方式太多了,这么多的数据,只要我们拥有数据分析的技能,绝对可以应付任何岗位上的工作。

3、为什么利用Python进行数据分析

"""
1、Python的代码语法简单易学
2、Python可以很容易的整合C、C++等语言的代码
3、Python有大量用于科学计算的库
4、Python不仅可以用于研究和原型构建,同时也适用于构建生产系统 """

数据整理

整理数据主要分为三步:

# (1)、收集数据

通过多种途径拿到数据,导入到Jupyter Notebook中

# (2)、评估数据

这一步主要是需要找出数据是否存在质量或者结构等方面的问题

# (3)、清理数据

通过修改、替换、删除等方式保证数据质量高、结构好

数据分析常用库简介

  Python数据分析需要安装的第三方扩展库有:Numpy、Pandas、SciPy、Matplotlib、Scikit-Learn、Keras、Gensim、Scrapy等

常用库简介

  Numpy

    Numpy是Numerical Python的简写,主要可以用来做Python数值计算。它提供了多种数据结构、算法以及大部分涉及Python数值计算所需的接口。

  • 快速、高效的多维数组对象ndarray
  • 基于元素的数组计算以及直接对数组执行数学运算的函数
  • 用于读写硬盘上基于数组的数据集的工具
  • 线性代数运算、傅里叶变换,以及随机数生成
  • 用于将C、C++、Fortran代码集成到python的工具
  • Pandas

    Pandas使我们进行数据分析的一个主要工具。它所包含的数据结构和数据处理工具的设计使得Python中进行数据清洗和分析非常快捷。pandas一般也是和其他数值计算工具一起使用的,

支持大部分Numpy语言风格的数组计算。pandas和numpy最大的区别就是pandas是用来处理表格型或者异质性数据的,而Numpy则刚好相反,它更适合处理同质型的数值类数组数据

matplotlib

  matplotlib是最流行的用于绘制数据图表的python库。

Scipy

    Scipy是科学计算领域针对不同标准问题域的包集合。提供了强大的科学计算方法(矩阵分析、信号分析、数理分析等)

IPython和Juypyter notebook

    IPython是一个加强版的Python解释器,Jupyter notebook是一种基于Web的代码笔记本,最初也是源于IPython项目。

IPython的使用

安装

简单的使用:可以临时的书写检验一些代码的功能。

jupyter notebook的使用

两种安装和和启动方式:

# a.  命令行安装:
pip3 install jupyter
启动
C:\Users\oldboy>jupyter notebook 缺点:
必须手动去安装数据分析包 # b. anaconda: 软件
优点: 包含了数据分析的基础包 大概 200 个左右的科学运算包

命令行安装

使用:

enter回车后类似加载server服务端,加载启动该软件

也可以用其他浏览器登录连接启动,但需要输入token或password验证

切换到目录文件夹下启动:jupyter notebook,启动即可获取该文件下的所有内容。

创建python3进入界面

以上的打开以及使用包比较麻烦,建议安装Anaconda使用

 # anaconda: 软件
优点: 包含了数据分析的基础包 大概 200 个左右的科学运算包

数据分析开发环境部署

Anaconda
下载安装
配置环境变量
管理包
管理环境
运行anaconda
补充

1、Anaconda

  Anaconda是Python的一个开源的发行版本,里面包含了很多科学计算相关的包,它和Python的关系就像linux系统中centos和Ubuntu的关系一样,不冲突,你可以同时在电脑上安装这两个东西。那至于为什么我已经在电脑上安装了pycharm还要安装这个Anaconda呢,主要有以下几点原因:

(1)Anaconda附带了一大批常用数据科学包,它附带了conda、Python和 150 多个科学包及其依赖项。因此你可以用Anaconda立即开始处理数据。

(2)管理包。Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。在数据分析中,你会用到很多第三方的包,而conda(包管理器)可以很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。

(3)管理环境。为什么需要管理环境呢?比如你在A项目中用到了Python2,而新的项目要求使用Python3,而同时安装两个Python版本可能会造成许多混乱和错误。这时候conda就可以帮助你为不同的项目建立不同的运行环境。还有很多项目使用的包版本不同,比如不同的pandas版本,不可能同时安装两个pandas版本。你要做的应该是在项目对应的环境中创建对应的pandas版本。这时候conda就可以帮你做到。

总结:Anaconda解决了官方Python的两大痛点:

(1)提供了包管理功能,Windows平台安装第三方包经常失败的场景得以解决

(2)提供环境管理功能,解决了多版本Python并存、切换的问题。

接下来就需要了解Anaconda如何进行安装

按照上面的路径点击下载,下载完成后就可以一路点击下一步完成安装,如果中间需要修改安装路径可以自己改一下。

安装成功之后我们会发现,多出来几个应用

  • Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。
  • Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
  • qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 可以直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。
  • spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。

安装Anaconda自带的应用:

配置环境变量

  如果是Windows环境的话就需要在控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH当中添加anaconda的安装目录的Scripts文件夹。

验证:
打开命令行输入conda --version,如果能输出版本号就对了

jupyter notebook的使用

打开并创建一个python3文件

一些常用的快捷键操作

 # jupyter notebook:

        """
快捷键: 1. 运行当前代码并选中下一个单元格 shift+enter
2. 运行当前的单元格 crtl + enter 绿色: 编辑模式
蓝色: 命令行模式 3. 在单元格的上方添加一个单元格 , 按esc进入命令行模式,接下来按 a (above) 添加
4. 在单元格的上方添加一个单元格 , 按esc进入命令行模式,接下来按 b (below) 添加 5. 删除一个单元格, 按esc进入命令行模式, 接下来,按 dd(delete) 删除 6. 代码和markdown的切换, 按esc进入命令行模式, 接下来,按 m 切换
"""

文件的后缀名默认为

常用快捷键的简单使用:

Numpy

简介
ndarray
通用函数
其他

1、简介

  Numpy是高性能科学计算和数据分析的基础包。它也是pandas等其他数据分析的工具的基础,基本所有数据分析的包都用过它。NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都支持向量化运算,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。

安装:

# pip install numpy

应用方式:

  这是官方认证的导入方式,可能会有人说为什么不用from numpy import *,是因为在numpy当中有一些方法与Python中自带的一些方法,例如maxmin等冲突,为了避免这些麻烦大家就约定俗成的都使用这种方法。

 # import numpy as np

2、ndarray -多维数组对象

  Numpy的核心特征就是N-维数组对——ndarray.

3、为什么要是用ndarray?

  接下来我们可以通过具体的实例来展示一下ndarray的优势。

现在有这样一个需求:

# 已知若干家跨国公司的市值(美元),将其换算为人民币

按照Python当中的方法

第一种:是将所有的美元通过for循环依次迭代出来,然后用每个公司的市值乘以汇率
第二种:通过map方法和lambda函数映射

这些方法相对来说也挺好用的,但是再来看通过ndarray对象是如何计算的

通过ndarray这个多维数组对象可以让这些批量计算变得更加简单,当然这只它其中一种优势,接下来就通过具体的操作来发现。

(2)有一个购物车,购物车中有商品的数量和价格,求总价?

(3)列表形式

4、创建ndarray对象

# np.array()

Numpy常用属性

1、T数组的转置

# T:转置
li1 = [
[1,2,3],
[4,5,6]
]
a = np.array(li1)
a.T
执行结果:
array([[1, 4],
[2, 5],
[3, 6]])
就相当于是将行变成列,列变成行,它也是一个比较常用的方法

2、数据类型

整型:int32只能表示(-2**31,2**31-1),因为它只有32个位,只能表示2**32个数

无符号整型:
只能用来存正数,不能用来存负数

补充:
astype()方法可以修改数组的数据类型

3、ndarray-创建

几个简单的示例:

当不会一些属性方法是可以查看帮助文档和例子

例子:

索引和切片

  数组和标量(数字)之间运算

# li1 = [
[1,2,3],
[4,5,6]
]
a = np.array(li1)
a * 2
运行结果:
array([[ 2, 4, 6],
[ 8, 10, 12]])

同样大小数组之间的运算

# l2数组
l2 = [
[1,2,3],
[4,5,6]
]
a = np.array(l2) # l3数组
l3 = [
[7,8,9],
[10,11,12]
]
b = np.array(l3) a + b # 计算 执行结果:
array([[ 8, 10, 12],
[14, 16, 18]])

索引

# 将一维数组变成二维数组
arr = np.arange(30).reshape(5,6) # 后面的参数6可以改为-1,相当于占位符,系统可以自动帮忙算几列
arr # 将二维变一维
arr.reshape(30) # 索引使用方法
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29]])
现在有这样一组数据,需求:找到20
列表写法:arr[3][2]
数组写法:arr[3,2] # 中间通过逗号隔开就可以了

切片

arr数组
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29]])
arr[1:4,1:4] # 切片方式
执行结果:
array([[ 7, 8, 9],
[13, 14, 15],
[19, 20, 21]])
切片不会拷贝,直接使用的原视图,如果硬要拷贝,需要在后面加.copy()方法

数据分析基础-jupyter notebook-Anaconda-Numpy的更多相关文章

  1. 机器学习:Jupyter Notebook中numpy的使用

    一.Jupyter Notebook的魔法命令 # 模块/方法 + ?或者help(模块/方法):查看模块/方法的解释文档: 1)%run # 机械学习中主要应用两个魔法命令:%run.%timeit ...

  2. 移动Anaconda安装目录后导致图标变白以及Anaconda Navigator,Anaconda Prompt,jupyter notebook和spyder启动不了的解决方法

    Q:因为移动了Anaconda3的安装目录,所以Anaconda3的相应应用程序启动不了,包括图标也会变白 解决方法:修改对应快捷键的属性,有对应的启动位置,修改下位置路径配置以及图标(Anacond ...

  3. 爬虫介绍+Jupyter Notebook

    什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 哪些语言可以实现爬虫    1.php:可以实现爬虫.php被号称是全世界最优美的语言(当然是其自己号称的,就是王婆 ...

  4. Jupyter Notebook 使用小记

    简介 Jupyter Notebook 是一款几乎综合所有编程语言,能够把软件代码.计算输出.解释文档.多媒体资源整合在一起的多功能科学计算平台.具有如下优点: 整合所有资源 交互性编程体验 零成本重 ...

  5. 最直白、最易懂的话带你认识和学会---数据分析基础包之numpy的使用

    前言 numpy是一个很基础很底层的模块,其重要性不言而喻,可以说对于新手来说是最基础的入门必须要学习的其中之一.在很多数据分析,深度学习,机器学习亦或是人工智能领域的模块中,很多的底层都会用到这个模 ...

  6. anaconda及jupyter notebook的了解及使用方法(1)

    今日内容 anaconda软件使用 jupyter notebook基本使用及快捷键 numpy anaconda软件使用 1.进入anaconda主页点击jupyter启动即可 呼起一个jupyte ...

  7. win7 使用anaconda安装tensorflow并且在jupyter notebook上启动

    记录一下学习深度学习的小事情: 1.tensorflow 现在只支持windows 64位系统: 2.因为实验室的电脑比较老旧,Gpu配置低,所以选择安装的是tensorflow Cpu版本,对于学习 ...

  8. python︱Anaconda安装、简介(安装报错问题解决、Jupyter Notebook)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 安装完anaconda,就相当于安装了Pyth ...

  9. anaconda 环境新建/删除/拷贝 jupyter notebook上使用python虚拟环境 TensorFlow

    naconda修改国内镜像源 国外网络有时太慢,可以通过配置把下载源改为国内的通过 conda config 命令生成配置文件,这里使用清华的镜像: https://mirrors.tuna.tsin ...

随机推荐

  1. HDU_4960 2014多校9 Another OCD Patient DP

    其实现在想起来是个巨简单的DP,模型就跟LCS很像,比赛的时候居然没想出来,在聪哥提醒下还卡了个地方 就是说给定一串n个数字的序列,可以连续合并,最终使得序列是回文的,题目也给定了合并数字所需的代价, ...

  2. python EasyUI + Django--整合 CSRF 防护去除

    先来张完整图: 关于Django 得CSRF  中间件      防护   GET 是不做CSRF验证得   但POST 默认验证  $.cookie('csrftoken'))    "v ...

  3. TX2开发板Ubuntu16.04安装中文输入法

    打开终端输入安装输入法: sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin ...

  4. zabbix监控linux 以及监控mysql

    Zabbix监控Linux主机设置方法 linux客户端 :59.128 安装了mysql 配置zabbix的yum源 rpm -ivh http://repo.zabbix.com/zabbix/2 ...

  5. PHP日期函数

    在正式学习日期函数前大家得了解几个概念: 1.时区 2.世界时 3.unix时间戳 时区 这个概念,之前大家听说过很多.我们来啰嗦两句,我们现实生活中使用的实区,在电脑里面也是一样有规定的.1884年 ...

  6. js连续的日期判断,判断相差几天

    var startTime=Date.parse(new Date('2020-02-28')); var endTime=Date.parse(new Date('2020-02-29')); $. ...

  7. java课程之团队开发冲刺阶段2.7

    昨日总结: 1.完整实现课前闹钟提醒功能 遇到的困难: 1.没有遇到大的问题,细节地方没有处理好出现了一下小的情况 今天的任务: 1.实现对课程查询的完整实现 当日总结: 1.以前是使用二级联动下拉框 ...

  8. 对DataFrame的再理解

    1.构造需要从字典构造 cds={'code':["002372.XSHE","002415.XSHE","002304.XSHE",&qu ...

  9. 《新标准C++程序设计》1.7-1.10(C++学习笔记2)

    1.内联函数(inline关键字) eg.inline int Max(int a,int b) { if(a>b) return a; return b; } 当编译器处理调用内联函数的语句时 ...

  10. 实验吧Web-中-登陆一下好吗??

    题目上说:不要怀疑,我已经过滤了一切,还再逼你注入,哈哈哈哈哈! 可以试试,只要是输入的关键字都被过滤了,双写也被过滤掉了. 用万能密码发现,or被过滤掉了. 这里用到的是admin为:'=',密码为 ...