前情提要:

  数据分析:把一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究

对象的内在规律

  数据分析的三剑客: numpy,pandas,matplotlb

  

  numpy是python语言的一个扩展程序库,支持大量的维度数组与矩阵的运算

 ,此外,也针对数组的运算,提供了大量的数学函数库

一: 创建ndarray

 导包

import numpy as np

1: 创建数组 np.array()

  1=>1: 创建一个一维数组

np.array([1,2,3,4,5])

输出:
array([1, 2, 3, 4, 5])

  1=>2:创建一个二维数组

in:
np.array([[1,2,3],[4,'a',6],[6,7,8]]) out:
array([['1', '2', '3'],
['4', 'a', '6'],
['6', '7', '8']], dtype='<U11')

 

     注意: numpy的默认的ndarray的所有数据元素的类型是相同的.

         如果传进ladies列表中包含不同的类型,则统一为统一类型

      优先级:

        str>float>int

   2:使用np的routines函数创建

    包含以下常见创建方法:

      2=>1:

      np.ones(shape,dtype=None,order='c')   创建纯一的数组

  

in:
np.ones(shape=(3,3))
out: Out[9]:
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])

      2=>2:

      np.zeros(shape,dtpye=None,order='c')  创建一个纯0的数组

in:
np.zeros(shape=(3,3)) out
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])

     2=>3:

      np.full(shape,fill_value,dtype=None,order='c')  创建一个所有数字都一样的列表

in:
np.full(shape=(3,3),fill_value=100)
out:
array([[100, 100, 100],
[100, 100, 100],
[100, 100, 100]])

   2=>4:

      np.lispace(start,stop,num=50,endpoint=True. retstep=False, dtype=None)

      等差数列

    

np.linspace(1,100,num=20)

 
Out[19]:
array([  1.        ,   6.21052632,  11.42105263,  16.63157895,
21.84210526, 27.05263158, 32.26315789, 37.47368421,
42.68421053, 47.89473684, 53.10526316, 58.31578947,
63.52631579, 68.73684211, 73.94736842, 79.15789474,
84.36842105, 89.57894737, 94.78947368, 100. ])

    2=>5: 

    np.arange(0,100,step=2)

 

  2=>6: 产生随机的整数

  np.random.randint(low,high=None,size=None,dtype='l')

  

  2=>7: 标准正太分布

  二: ndarray的属性

  4个必计参数:ndim ; 维度  shape :形状 (各维度的长度) size :总长度

  dtype :元素类型

      ndim  维度

  

    size :总长度

   dtype  数据类型

  三:  ndarray的基本操作

1 :索引

一维与列表完全一致 多维时同理

根据索引修改数据

2 切片

一维与列表完全一致 多维时同理

      样本数据

2=>1: 获取前两行

2=>2: 获取前两列

2=>3:获取前两列的前两行

2=>4: 行倒序

2:=>5: 列倒序

2=>6: 全部倒序

 3 变形 

使用arr.reshape(),注意参数是一个元组 

 基本使用

  1.将一维数组变成多维数组,或多维数组变成以为数组

1=>1 :一变多

 

 1=>2:多变一:

 

 

 

 

4: 级联

np.concatenate()

 

注意: axis=0 轴像

0 表示 竖直方向,

1 表示水平方向

 

 

相同轴像的数据维度要相同

5 切分: 

与级联类似,三个函数完成切分工作:

np.split(arr,行/列号,轴):参数2是一个列表类型

 

 

 注意: axis=1 的时候为竖着切 ,0为横着切

 

 

四: ndarray的聚合操作

五 广播机制

ndarray广播机制的三条规则:缺失维度的数组将维度补充为进行运算的数组的维度。缺失的数组元素使用已有元素进行补充。

  • 规则一:为缺失的维度补1(进行运算的两个数组之间的维度只能相差一个维度)
  • 规则二:缺失元素用已有值填充
  • 规则三:缺失维度的数组只能有一行或者一列

例子1 :

数据分析相关学习 -1 numpy的更多相关文章

  1. 数据分析之Pandas和Numpy学习笔记(持续更新)<1>

    pandas and numpy notebook        最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...

  2. python数据分析入门学习笔记

    学习利用python进行数据分析的笔记&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据分 ...

  3. 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题

    动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...

  4. python数据分析入门学习笔记儿

    学习利用python进行数据分析的笔记儿&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据 ...

  5. python数据分析---第04章 NumPy基础:数组和矢量计算

    NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...

  6. [学习笔记] Numpy基础 系统学习

    [学习笔记] Numpy基础 上专业选修<数据分析程序设计>课程,老师串讲了Numpy基础,边听边用jupyter敲了下--理解+笔记. 老师讲的很全很系统,有些点没有记录,在PPT里就不 ...

  7. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  8. Oracle OCI操作UDT相关学习(二)

    沿用 Oracle OCI操作UDT相关学习 一文中定义的类型和表. 1.更改数据 在sqldeveloper 中更新数据, update dxl.cust set addr.street='a11' ...

  9. ReentrantLock 相关学习笔记

    ReentrantLock 相关学习笔记 标签(空格分隔): Java多线程 Java接口Lock有三个实现类:ReentrantLock.ReentrantReadWriteLock.ReadLoc ...

随机推荐

  1. centos7.6编译安装php7.3

    刚开始搞环境装过集成,发现不好用,后来自己编译安装一些扩展啊设置的都很容易找到. 以前装过5.6.7.0发现不一样,最近出了7.3是php5速度的三倍,那有必要升级一下列. 由于之前安装过老版本,依赖 ...

  2. Python 【爬虫】

    爬虫的工作原理 首先,爬虫可以模拟浏览器去向服务器发出请求: 其次,等服务器响应后,爬虫程序还可以代替浏览器帮我们解析数据: 接着,爬虫可以根据我们设定的规则批量提取相关数据,而不需要我们去手动提取: ...

  3. SAS学习笔记6 算数语句(sum、mean、min、max函数)

    sum:求和 mean:平均值 min:最小值 max:最大值

  4. 前端移动端的rem适配计算原理

    rem是什么? rem(font size of the root element)是指相对于根元素的字体大小的单位.简单的说它就是一个相对单位.看到rem大家一定会想起em单位,em(font si ...

  5. substr函数索引创建测试

    技术群里小伙伴,沟通说一条经常查询的SQL缓慢,单表SQL一个列作为条件,列是int数值类型,索引类型默认创建. 一.SQL文本substr函数索引创建测试 ,) nm1 ')需求,将上述SQL执行速 ...

  6. C# Entity Framework The ObjectContext instance has been disposed and can no longer be used for operations that require a connection

    The ObjectContext instance has been disposed and can no longer be used for operations that require a ...

  7. Scientific Toolworks Understand for linux

    Scientific Toolworks Understand for linux 这个软件我找了很久了,一直没有找到合适能装的.现在这款能在linux上顺利运行的版本,共享给需要的TX们. 个人觉得 ...

  8. 监控神器-普罗米修斯Prometheus的安装

    搬砖党的福音:普罗米修斯-监控神器 功能: 在业务层用作埋点系统 Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端).我们可以通过客户 ...

  9. 重构与反思-<重构代码的7个阶段>有感

    https://coolshell.cn/articles/5201.html/comment-page-2#comment-1932554 过去半年基本上完整经历了这个文章的各个阶段,看完文章结合自 ...

  10. Apache Log View 5.37破解笔记

    i春秋作家:Sp4ce 之前说过要分享这个日志分析工具[记一次简单的攻击日志分析]的破解版,在破解的路上踩了几个坑,记录分享下. 0×00程序概述 原程序 大小: 2283672 字节文件版本: 5. ...