py库:numpy
http://www.numpy.org/ numpy官网
http://cwiki.apachecn.org/pages/viewpage.action?pageId=10030181 scikit-learn 0.18 中文文档(暂时先放这儿)
https://www.imooc.com/learn/727 Python在数据科学中的应用,比较基础的视频讲解。讲了python的list,numpy,matplotlib,pandas
http://python.jobbole.com/87471/ Python快速教程 - Numpy和Matplotlib篇
http://www.yiibai.com/numpy/ NumPy教程 广告忒多,(host里屏蔽一下咕咕广告)
pip install numpy
当前版本是numpy-1.14.0
BMI计算:
numpy.array()是个很重要的方法
import numpy as np
n_height = np.array([1.75, 1.72, 1.68, 1.8, 1.7])
n_weight = np.array([60, 80, 70, 55, 75])
bmi = n_weight / n_height ** 2
print(bmi)
print(bmi[2]) pang = np.array( bmi[bmi > 23] ) # 通过比较运算符,进行元素的选择
print(pang)
二维numpy数组
数组内的元素必须是同类型,否则会被强制转换。因为数据类型一致,所以运算速度快。
import numpy as np
np_2d = np.array([
[1.75, 1.72, 1.68, 1.8, 1.7],
[60, 80, 70, 55, 75]
])
print(np_2d)
print(np_2d.shape) # 2行5列 (2, 5)
print(np_2d[0][2]) # 第一行第三个 1.68
print(np_2d[0, 2]) # 同上 1.68
print(np_2d[:, 1:3]) # 取每行的第2、3列 [[ 1.72 1.68], [80. 70. ]]
print(np_2d[1, :]) # 取第2行 [60. 80. 70. 55. 75.]
print(np.mean(np_2d[0, :])) # 先把身高抽取出来,再计算平均身高 1.7299999999999998
print(np.median(np_2d[0, :])) # 身高中位数(比如5000个人排队,最中间的那个人的身高) 1.72
数据的生成
import numpy as np
height = np.round(np.random.normal(1.75, 0.08, 100), 2) # 随机生成身高
weight = np.round(np.random.normal(60.00, 10, 100), 2) # 随机生成体重
np123 = np.column_stack((height, weight))
print(np123)
print(np.max(height), np.min(height)) # 身高最大最小值
print(np.max(weight), np.min(weight)) # 体重最大最小值
numpy数组的创建
- numpy.empty
- numpy.zeros
- numpy.ones
- numpy.arange(start, stop, step, dtype)
- numpy.linspace(start, stop, num, endpoint, retstep, dtype) 此函数类似于arange()函数。 在此函数中,指定了范围之间的均匀间隔数量
- numpy.reshape(arr, newshape, order') 此函数在不改变数据的条件下修改形状
- ndarray.flatten(order) 此函数返回折叠为一维的数组副本(打平)
import numpy as np print(np.zeros((3, 4))) # 生成3行4列的0矩阵
print(np.ones((3, 4), dtype=np.int16)) # 生成3行4列的1矩阵
print(np.arange(10)) # 类似range [0 1 2 3 4 5 6 7 8 9]
print(np.linspace(0, 60, 5)) # 等差数列,0到60之间,取5个值 [ 0. 15. 30. 45. 60.]
print(np.arange(6).reshape((2, 3))) # [ [0 1 2] [3 4 5] ]
散点图
import numpy as np
import matplotlib.pyplot as plt height = np.round(np.random.normal(1.75, 0.20, 100), 2)
weight = np.round(np.random.normal(60.32, 15, 100), 2) plt.scatter(weight, height) # 散点图
plt.show()
一些属性
import numpy as np aaa = np.array([
[9, 2, 3, 4],
[5, 6, 7, 8]
])
print(aaa.ndim) # 几维 2
print(aaa.shape) # 几行几列 (2,4)
print(aaa.size) # 多少个元素 8
print(aaa.dtype) # 数值类型 int32
print(aaa.flatten()) # 将数组展平成一维数组 [9 2 3 4 5 6 7 8] print(aaa.mean()) # 均值 5.5
print(aaa.max()) # 最大值 9 np.save('zz.npy', aaa) # 保存到文件
q = np.load('zz.npy') # 从文件读取
print(q)
例子: 直方图
from matplotlib import pyplot as plt
import numpy as np a = np.array( [98.5, 96, 95, 94.5, 93.5, 94, 86.5, 92.5, 92, 90, 90.5, 95, 91.5, 89, 91, 94, 91, 82, 96.5, 89.5, 88, 82, 82, 84.5, 83.5, 87])
plt.hist(a, bins=[80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100])
plt.show() # 学生考试成绩的直方图
...
py库:numpy的更多相关文章
- python常用序列list、tuples及矩阵库numpy的使用
近期开始学习python机器学习的相关知识,为了使后续学习中避免编程遇到的基础问题,对python数组以及矩阵库numpy的使用进行总结,以此来加深和巩固自己以前所学的知识. Section One: ...
- tablib把数据导出为Excel、JSON、CSV等格式的Py库(写入数据并导出exl)
#tablib把数据导出为Excel.JSON.CSV等格式的Py库 #python 3 import tablib #定义列标题 headers = ('1列', '2列', '3列', '4列', ...
- Python 机器学习库 NumPy 教程
0 Numpy简单介绍 Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy ...
- AI炼丹 - 深度学习必备库 numpy
目录 深度学习必备库 - Numpy 1. 基础数据结构ndarray数组 1.1 为什么引入ndarray数组 1.2 如何创建ndarray数组 1.3 ndarray 数组的基本运算 1.4 n ...
- NumPy的随机函数子库——numpy.random
NumPy的随机函数子库numpy.random 导入模块:import numpy as np 1.numpy.random.rand(d0,d1,...,dn) 生成一个shape为(d0,d1, ...
- Python科学计算库Numpy
Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...
- 科学计算库Numpy基础&提升(理解+重要函数讲解)
Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组.矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层 ...
- CentOS7 安装python库(numpy、scipy、matplotlib、scikit-learn、tensorflow)
0.1准备工作 安装好CentOS7,配置好网络,确保网络畅通. 0.2root授权 首先:当前用户为kaid # vim /etc/sudoers 在root ALL=(ALL) ALL之后添加: ...
- 矩阵库Numpy基本操作
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作. 下面对numpy中的操作进行总结. numpy包含两种基本的数据类型 ...
随机推荐
- [C]奇数求和
/* 用递归算法实现,输入整数n(n>0), 求1+3+5+7….+(2*n-1) 的和 */ #include<stdio.h> int add(int n); int main( ...
- 详解:idea工具下的main函数只执行Thread.activeCount(),打印值为:2
写多线程的时候,想要等main中其他线程都执行完成后(其他线程功能为对一个数字inc+1),输出最终的inc值. 于是写了个循环: while (Thread.activeCount() > 1 ...
- ShellSort
#include <bits/stdc++.h> using namespace std; #define MAXSIZE 200000 typedef int KeyType; type ...
- 获取spring容器对象方法和原因
为什么要获取Spring容器对象:拿到spring容器对象后,你就可以用spring管理的bean了,拿到bean,自然可以使用bean的方法,场景:比如jsp页面.通过注解是无法注入bean的,在开 ...
- Taro 生命周期
Taro 新加的生命周期 说明 网址 componentDidShow() 在此生命周期中通过 this.$router.params,可以访问到程序初始化参数 https://nervjs.gith ...
- 自己DIY出来一个JSON结构化展示器
说来也巧,这个玩意,一直都想亲手写一个,因为一直用着各种网上提供的工具,觉得这个还是有些用途,毕竟,后面的实现思路和原理不是太复杂,就是对json的遍历,然后给予不同节点类型以不同的展现风格. 我这次 ...
- TCL 引用同目录下其他脚本文件--source
方法一: source [file join [file dirname [info script]] Export_inp_by_loadstep.tcl] 方法二: source [file jo ...
- cmd常用命令总结
1.cmd不同盘符之间切换 方法(1): cd /d 路径如:cd /d c:/windows 方法(2): d:2.cls 清空cmd窗口dir 查看文件夹下的目录md 创建文件夹rd 删除文件夹c ...
- bash: ./LM35_make_fs: Permission denied 解决办法
执行命令的时候 ./LM35_make_fs 遇到 permission denied, bash: ./LM35_make_fs: Permission denied权限的问题,可以运行 ls -l ...
- ionic3使用@angular/http 访问nodejs(koa2框架)服务不能返回数据
cordova的http插件不能使用在browser上,所以当需要在browser上浏览时,需要使用@angular/http 里的方法来访问nodejs服务. 如果出现服务端能够接收请求并相应,而客 ...