NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 
菜鸟教程:https://www.runoob.com/numpy/numpy-tutorial.html
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
菜鸟教程:https://www.runoob.com/numpy/numpy-matplotlib.html

Numpy模块的简单使用
 """
菜鸟教程:https://www.runoob.com/numpy/numpy-tutorial.html
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 """
import numpy as np # pip install numpy # 1.numpy创建的数组类型为<class 'numpy.ndarray'> # (1)创建ndarray一维数组
ndarray_1 = np.array([1, 2, 4, 6])
print(ndarray_1)
# (2)创建ndarray二维数组(如果元素不对称,结果是一维列表数组)
ndarray_2 = np.array([[2, 4, 6], [1, 3, 5]])
print(ndarray_2,type(ndarray_2[1])) # ndarray_2=np.array([[2,4,6],[1,3,5,3]])
# print(ndarray_2,type(ndarray_2))#[list([2, 4, 6]) list([1, 3, 5, 3])] <class 'numpy.ndarray'>
# print(type(ndarray_2[1]))#<class 'list'> # (3)numpy默认ndarray的所有元素的类型是相同的
# 如果传进来的列表中包含不同的类型,则统一为同一类型,优先级:str>float>int
ndarray_3 = np.array([[2, 4, 6], [1, 3, 5]])
print(ndarray_3[1][2], type(ndarray_2[1][2])) # 5 <class 'numpy.int32'> ndarray_3 = np.array([[2, 4.8, 6], [1, 3, 5]])
print(ndarray_3[1][2], type(ndarray_2[1][2])) # 5.0 <class 'numpy.float64'> ndarray_3 = np.array([["a", 4, 6], [1, 3, 5]])
print(ndarray_3[1][2], type(ndarray_2[1][2])) # 5 <class 'numpy.str_'> #(4)numpy创建等差数组np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 等差数列
ndarray_4=np.linspace(0,10,num=20)
print(ndarray_4) #(5)numpy创建随机数组np.arange([start, ]stop, [step, ]dtype=None)
ndarray_5=np.arange(0,10,step=2)
print(ndarray_5)
ndarray_5=np.arange(0,10)
print(ndarray_5) #(6)numpy创建随机多维数组np.random.randint(low, high=None, size=None, dtype='l')
#如果指定了随机银子,就不在随机
# np.random.seed(10)#随机因子/时间种子
ndarray_6=np.random.randint(0,10,size=(3,4))#0到10之间3X4的数组
print(ndarray_6)
ndarray_6=np.random.randint(0,100,size=(3,3,3))#0到100之间3X3X3的三维数组
print(ndarray_6) #(7)numpy创建0-1之间的随机小数
ndarray_7=np.random.random()
print(ndarray_7,type(ndarray_7)) #2.ndarray数组的属性 #(8)ndarray数组的大小:ndarray.size
print(ndarray_1.size)
print(ndarray_2.size)
print(ndarray_3.size)
print(ndarray_4.size)
print(ndarray_5.size)
print(ndarray_6.size) #(9)ndarray数组的维度:ndarray.ndim
print(ndarray_1.ndim)
print(ndarray_2.ndim)
print(ndarray_3.ndim)
print(ndarray_4.ndim)
print(ndarray_5.ndim)
print(ndarray_6.ndim) #(10)ndarray数组的形状:ndarray.shape
print(ndarray_1.shape)
print(ndarray_2.shape)
print(ndarray_3.shape)
print(ndarray_4.shape)
print(ndarray_5.shape)
print(ndarray_6.shape) #(11)ndarray数组的元素类型:ndarray.dtype
print(ndarray_1.dtype)
print(ndarray_2.dtype)
print(ndarray_3.dtype)
print(ndarray_4.dtype)
print(ndarray_5.dtype)
print(ndarray_6.dtype) #(12)ndarray类型查看:type()
print(type(ndarray_1))
print(type(ndarray_2))
print(type(ndarray_3))
print(type(ndarray_4))
print(type(ndarray_5))
print(type(ndarray_6)) #3.ndarray数组的基本操作
# 对二维数组中括号第一个参数为行,第二个参数为列;
#对多维数组ndarray[,,,,],中括号中逗号分割的每个数字都指代一个维度 #(13)索引:①一维数组与列表一致;②多维数组与C语言一样
ndarray_13=np.random.randint(0,10,size=(3,4))
print(ndarray_13)#二维数组
print(ndarray_13[1])#获取二位数组第2行
print(ndarray_13[[1,2]])#获取二维数组第2和第3行
print(ndarray_13[1,3])#获取二维数组第2行第4个元素 #(14)切片
ndarray_14=np.random.randint(0,10,size=(5,4))
print(ndarray_14)
print(ndarray_14[:2])#获取二维数组的前两行
print(ndarray_14[:,:2])#获取二位数组的前两列
print(ndarray_14[:2,:2])#获取二位数组的前两行和前两列 print(ndarray_14[::-1])#对二维数组的行进行翻转
print(ndarray_14[:,::-1])#对二位数组的列进行翻转
print(ndarray_14[::-1,::-1])#对二维数组的行和列都进行翻转 #(15)变形:使用ndarray.reshape()函数,注意参数是一个tuple! ndarray_15=np.random.randint(0,10,size=10)
print(ndarray_15)
print(ndarray_15.reshape((2,5)))#一维数组变形成二位数组 ndarray_15=np.random.randint(0,10,size=(3,4))
print(ndarray_15)
print(ndarray_15.reshape((12,)))#二位数组变形成一位数组
print(ndarray_15.reshape((2,6)))#二位数组便形成其它二位数组 #(16)级联操作:对多个ndarray数组进行横向或者纵向的拼接np.concatenate((arr,arr),axis=0) #axis=0 列 1行
ndarray_16=np.random.randint(0,10,size=(3,4))
print(ndarray_16)
print(np.concatenate((ndarray_16,ndarray_16),axis=0))#第一个参数为多个ndarray数组,axis为0表示列级联
print(np.concatenate((ndarray_16,ndarray_16),axis=1))#第一个参数为多个ndarray数组,axis为1表示列级联 #4.ndarray数组的聚合操作
#(17)求和:ndarray.sum([axis=])
ndarray_17=np.random.randint(0,10,size=(3,4))
print(ndarray_17) print(ndarray_17.sum())#无参数默认全部求和
print(ndarray_17.sum(axis=1))#axis为1指定行求和
print(ndarray_17.sum(axis=0))#axis为0指定列求和 #(18)最大值、最小值:ndarray.max()/ndarray.min()
ndarray_18=np.random.randint(0,10,size=(3,4))
print(ndarray_18) print(ndarray_18.max())#默认无参数求数组最大值
print(ndarray_18.max(axis=1))#axis为1指定行求最大值
print(ndarray_18.max(axis=0))#axis为0指定列求最大值 print(ndarray_18.min())#默认无参数求数组最小值
print(ndarray_18.min(axis=1))#axis为1指定行求最小值
print(ndarray_18.min(axis=0))#axis为0指定列求最小值 #(19)平均值:ndarray.mean()
ndarray_19=np.random.randint(0,10,size=(3,4))
print(ndarray_19) print(ndarray_19.mean())#默认无参数求数组平均值
print(ndarray_19.mean(axis=1))#axis为1指定行求平均值
print(ndarray_19.mean(axis=0))#axis为1指定列求平均值 #(19)ndarray数组的其它聚合操作
"""
ndarray.prod()
ndarray.std() 标准差
ndarray.var()
ndarray.argmin()
ndarray.argmax()
ndarray.median()
ndarray.percentile()
ndarray.any() 一些
ndarray.all() 所有
ndarray.power() 幂运算
""" #5.ndarray数组排序:np.sort()与ndarray.sort()都可以,但有区别
ndarray_20=np.random.randint(0,10,size=(3,4))
print(ndarray_20)
print(np.sort(ndarray_20))#默认对行、列顺序排序
print(np.sort(ndarray_20,axis=1))#对行排序
print(np.sort(ndarray_20,axis=0))#对列排序

Numpy简单使用

Matplotlib模块的简单使用
 """
菜鸟教程:https://www.runoob.com/numpy/numpy-matplotlib.html
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。
它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
"""
import numpy as np
import matplotlib.pyplot as plt
#读取显示图片
img_arr=plt.imread('1.png')#读取图片数组
plt.imshow(img_arr)#显示图片
plt.show()
print(img_arr.shape)
#可以直接使用numpy中的数组方法
plt.imshow(img_arr[::-1])#对行进行翻转,图片上下反转
plt.show() plt.imshow(img_arr[:,::-1])#对列进行翻转,图片左右反转
plt.show() plt.imshow(img_arr[::-1,::-1])#对行/列进行翻转,图片完全反转
plt.show() print(img_arr.shape)#三维数组
plt.imshow(img_arr[::-1,::-1,::-1])#对行/列及颜色进行翻转,图片及色彩完全反转
plt.show() #拼图np.concatenate((arr,arr),axis=0) #axis=0 列 1行
img_arr3=np.concatenate((img_arr,img_arr,img_arr),axis=1)#行拼3
img_arr9=np.concatenate((img_arr3,img_arr3,img_arr3),axis=0)#列拼3
plt.imshow(img_arr9)
plt.show() # 绘制图形
import numpy as np
x = np.arange(1, 11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x, y)
plt.show()

Matplotlib简单使用

   效果图:

    

												

数据分析之Numpy、Matplotlib库的更多相关文章

  1. 数据分析与展示——Matplotlib库入门

    Matplotlib库入门 Matplotlib库介绍 Matliotlib库是Python优秀的数据可视化第三方库. Matliotlib库的效果见:http://matplotlib.org/ga ...

  2. numpy, matplotlib库学习笔记

    Numpy库学习笔记: 1.array()   创建数组或者转化数组 例如,把列表转化为数组 >>>Np.array([1,2,3,4,5]) Array([1,2,3,4,5]) ...

  3. NumPy Matplotlib库

    NumPy - Matplotlib Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 ...

  4. 第二周 数据分析之展示 Matplotlib库入门

    Matplotlib库介绍:优秀的数据可视化第三方库 使用:Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,matplotlib.pyplot是绘制各类可视化图形的命令子库 ...

  5. $python数据分析基础——初识matplotlib库

    基本用法 import numpy as np import matplotlib.pyplot as plt # 年份 year = [1950,1970,1990,2010] # 全球总人口(单位 ...

  6. Python_科学计算平台__pypi体系的numpy、scipy、pandas、matplotlib库简介

    1.numpy--基础,以矩阵为基础的数学计算模块,纯数学 存储和处理大型矩阵. 这个是很基础的扩展,其余的扩展都是以此为基础. 快速学习入口 https://docs.scipy.org/doc/n ...

  7. 在Ubuntu 14.04 64bit上安装numpy和matplotlib库

    原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战> ...

  8. 利用matplotlib库和numpy库画数学图形

    首先,电脑要安装到matplotlib库和numpy库,这可以通过到命令符那里输入“pip install matplotlib ”,两个操作一样 其次,参照下列代码: import numpy as ...

  9. python数据分析基础——numpy和matplotlib

    numpy库是python的一个著名的科学计算库,本文是一个quickstart. 引入:计算BMI BMI = 体重(kg)/身高(m)^2假如有如下几组体重和身高数据,让求每组数据的BMI值: w ...

  10. 利用Python进行数据分析——重要的Python库介绍

    利用Python进行数据分析--重要的Python库介绍 一.NumPy 用于数组执行元素级计算及直接对数组执行数学运算 线性代数运算.傅里叶运算.随机数的生成 用于C/C++等代码的集成 二.pan ...

随机推荐

  1. PHP pcntl

    来源:https://www.jianshu.com/p/de0b74f58f50 pcntl是一个可以利用操作系统的fork系统调用在PHP中实现多线程的进程控制扩展,当使用fork系统调用后执行的 ...

  2. Test Test...

    标题: Test(一级标题) Test(二级标题) Test(三级标题) 列表: test(列表) Alpha Beta Gamma test 2 Delte Epsilon 链接: 点兔成金斐波那契 ...

  3. 学习笔记-CTF密码相关

    RSA共模攻击 RSA基本原理 ①  选择两个大的质数p和q,N=pq: ②  根据欧拉函数,求得r=(p-1)(q-1): ③  选一个小于r的整数e,求得e关于模r的模反元素d: ④  将p和q的 ...

  4. Python与Excel交互——Xlwings实战

    这一期直接来实战. 比如说,我们在一个快递网站上爬取了几个快递的轨迹信息,我们需要将数据保存下来,一个常规做法是把数据保存在数据库里(Mysql,MongoDB,Redis),另一个是用Excel的形 ...

  5. 在java中构建高效的结果缓存

    文章目录 使用HashMap 使用ConcurrentHashMap FutureTask 在java中构建高效的结果缓存 缓存是现代应用服务器中非常常用的组件.除了第三方缓存以外,我们通常也需要在j ...

  6. poj_1323 Game Prediction 贪心

    Game Prediction Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11814   Accepted: 5701 ...

  7. Node.js快速创建一个访问html文件的服务器

    var http = require('http'), // 引入需要的模块 fs = require('fs'), //引入文件读取模块 cp = require('child_process'), ...

  8. Vs Code中炫酷写代码插件Power Mode的安装配置

    扩展栏搜索 Power Mode 安装 安装后重启vs code 文件->首选项->设置 搜索setting.json,点击在setting.json中编辑 打开之后在右侧用户设置里添加以 ...

  9. 图论--2-SAT--Tarjan连通分量+拓扑排序O(N+M)模板

    #include <cstdio> #include <cstring> #include <queue> #include <vector> #inc ...

  10. python(内置高阶函数)

    1.高阶函数介绍: 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足其一,则为高阶函数. 常见的高阶函数:map().sorted( ...