首页 > 其他 > 详细

1-py数据分析-数据分析介绍、数据三剑客之NumPy

时间:2020-07-13 15:50:29      阅读:93      评论:0      收藏:0      [点我收藏+]

什么是数据分析

  • 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律
    • 使得数据的价值最大化
      • 分析用户的消费行为
        • 制定促销活动的方案
        • 制定促销时间和粒度
        • 计算用户的活跃度
        • 分析产品的回购力度
      • 分析广告点击率
        • 决定投放时间
        • 制定广告定向人群方案
        • 决定相关平台的投放
      • ......
  • 数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们做出判断,以便采取适当的行动
    • 保险公司从大量赔付申请数据中判断哪些为骗保的可能
    • 支付宝通过从大量的用户消费记录和行为自动调整花呗的额度
    • 短视频平台通过用户的点击和观看行为数据针对性的给用户推送喜欢的视频

为什么学习数据分析

  • 有岗位的需求
    • 数据竞赛平台
  • 是Python数据科学的基础
  • 是机器学习课程的基础

数据分析实现流程

  • 提出问题
  • 准备数据
  • 分析数据
  • 获得结论
  • 成果可视化

课程内容介绍

  • 基础模块使用学习
  • 项目实现
  • 金融量化

开发环境介绍

  • anaconda
    • 官网:https://www.anaconda.com/
    • 集成环境:集成好了数据分析和机器学习中所需要的全部环境
      • 注意:
        • 安装目录不可以有中文和特殊符号
  • jupyter
    • jupyter就是anaconda提供的一个基于浏览器的可视化开发工具
  • jupyter的基本使用
    • 启动:在终端中录入:jupyter notebook的指令,按下回车
    • 新建:
      • python3:anaconda中的一个源文件
      • cell有两种模式:
        • code:编写代码
        • markdown:编写笔记
    • 快捷键:
      • 添加cell:a或者b
      • 删除:x
      • 修改cell的模式:
        • m:修改成markdown模式
        • y:修改成code模式
      • 执行cell:
        • shift+enter
      • tab:自动补全
      • 代开帮助文档:shift+tab

数据分析三剑客

  • numpy
  • pandas(重点)
  • matplotlib

numpy模块

NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库。侧重在于数值计算,也是大部分Python科学计算库的基础,多用于在大型、多维数组上执行的数值运算。

numpy的创建

  • 使用np.array()创建
  • 使用plt创建
  • 使用np的routines函数创建

使用np.array()创建

# 用array()创建一个一维数组
import numpy as np
np.array([1,2,3,4,5])   # array([1, 2, 3, 4, 5])

# 使用array()创建一个多维数组
np.array([[1,2,3],[4,5,6]])  

array([[1, 2, 3],
       [4, 5, 6]])

数组和列表的区别是什么?

  • 数组中存储的数据元素类型必须是统一类型
  • 优先级:
    • 字符串 > 浮点型 > 整数
np.array([1.1,哈哈,11])  # array([‘1.1‘, ‘哈哈‘, ‘11‘], dtype=‘<U32‘)
np.array([1,5,6.1,8])  # array([1. , 5. , 6.1, 8. ])

将外部的一张图片读取加载到numpy数组中,然后尝试改变数组元素的数值查看对原始图片的影响

import matplotlib.pyplot as plt
# imread可以返回一个numpy数组
img_arr = plt.imread(./1.jpg)
# 将返回的数组的数据进行图像的展示
plt.imshow(img_arr)  # imshow也可以将一个二维数组进行图片展示规
plt.imshow(img_arr + 100)

技术分享图片

 zeros()、ones()、linespace()、arange()、random系列

# ones   zeros()与ones()相似
np.ones(shape=(3,4))  # 返回一个3行4列的np数组,元素都是1.,  zeros是0.
array([[1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.]])

# linspace返回一维形式的等差数列 开始 ,结束,一共8个元素
np.linspace(0, 50, num=8)
array([ 0.        ,  7.14285714, 14.28571429, 21.42857143, 28.57142857,
       35.71428571, 42.85714286, 50.        ]) 

#arange返回一维形式的等差数列
np.arange(0,50,5)
array([ 1,  9, 17, 25, 33, 41, 49])

#random.randint 返回指定形状的随机整数数组
np.random.randint(0,20,size=(4,5))
array([[ 3,  1, 16, 14,  1],
       [18, 13, 10, 14, 18],
       [19, 19,  1,  8, 13],
       [15,  2, 17, 15,  6]])

#random.random 随机范围0-1
np.random.random(size=(2, 2))
array([[0.16654448, 0.59399791],
       [0.6076535 , 0.89254046]])

numpy的常用属性

  • shape 形状
  • ndim 维度
  • size 元素总个数
  • dtype 元素的数据类型
img_arr.shape  # 返回数组形状
(500, 500, 3)

img_arr.ndim  # 返回数组维度
3

img_arr.size  # 返回数组元素总个数
750000

img_arr.dtype  # 返回数组元素的数据类型
dtype(uint8)

type(img_arr)  # 返回数组的数据类型
numpy.ndarray

numpy的数据类型

  • array(dtype=?):可以设定数据类型
  • arr.dtype = ‘?‘:可以修改数据类型
  • arr.astype(‘?‘):也可以修改数据类型

技术分享图片

修改数据类型

arr = np.array([1,2,3], dtype=float16)
array([1., 2., 3.], dtype=float16)

#1、修改arr元素的数据类型
arr.astype(int8)
array([1, 2, 3], dtype=int8)

#2、修改arr元素的数据类型
arr.dtype=float16
array([1., 2., 3.], dtype=float16)

 

 

 

 

 

 

1-py数据分析-数据分析介绍、数据三剑客之NumPy

原文:https://www.cnblogs.com/wgwg/p/13293049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!