创建数组:
import numpy as np
np.array([1,2,3,4,5])
np.array(range(1,6))
np.arange(1,6)
①、range和arange的区别
range(n):生成0到n-1个数字
arange([start,],stop[,step],dtype=None):start到stop之间的数字,步长为step.
②、type和dtype的区别
type(Object):检测类型,是数组还是别的类型。
Object.dtype:检测数组中存放的数据的类型。
通过dtype属性指定数组中元素的类型。
t=np.array(range(1,4),dtype="float32")
其中,numpy中常见的更多数据类型
③、astype修改数据类型
假设当t5类型是bool类型时,想要t5类型改为int类型,可以这样做。
t6=t5.astype("int8")
④、numpy中的小数
random.random()
取十个小数
t7=np.array([random.random() for i in range(10)])
np.round(Object,取几位小数)
t8=np.round(t7,2)
此外,取几位小数还有下面的两种方法
round(random.random(),3)//保留三位小数
“%.2f”%random.random()//保留2位小数
①、Object.shape:查看数组的形状
②、Object.reshape((块数,行数,列数))
③、Object.flatten():展开数组,将二维数组转为一维数组。
当不知道数组中有多少元素时,还想要展开成一维数组,可以用下面两种方式。
①、加减乘除运算:对数组中每个元素进行加减乘除
数组和数组计算:对应位置进行加减乘除。
两个数组维度不同时,也可以进行计算。
②、广播原则
如果两个数组的后缘维度(,即从末尾开始算起的维度)的轴长相符或其中一方的长度为1,则认为它们是广播兼容的。广播会在缺失和长度为1的维度上进行。
③、轴(axis)
在numpy中可以理解为方向,使用0,1,2…数字表示,对于一个一维数组,只有一个0轴,
对于2维数组(shape(2,2)),有0轴和1轴,
对于三维数组(shape(2,2, 3)),有0,1,2轴
读取文件数据
bashnp.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
矩阵转置的四种方法:
①、添加unpack=True属性转置矩阵
②、Object.transpose()
③、Object.T
④、Object.swapaxes(1,0):交换轴
①、取行:Object[行数] 或者 Object[行数,:]-------取第行数行
②、取连续的行:Object[起始行:] 或者 Object[起始行:,:]------取出从行数开始的所有行
③、取不连续的多行:Object[2,5,8] 或者 Object[[2,5,8],:] -----取出2,5,8行数据
①、取列:Object[:,列数]-------取第列数列
②、取连续的列:Object[:,起始列:]------取出从列数开始的所有列
③、取不连续的多列:Object[:,[0,2]]-----取出第0和第2列数据
①、取第2行3列值:Object[2,3]
②、取多行多列:Object[2:5,1:4]
③、取多个不相邻的点:Object[[0,2,2],[0,1,3]]-----取出来的结果是(0,0)、(2,1)、(2,3)
①、numpy中的三元运算符where
②、numpy中的clip(裁剪)
小于10的替换为10,大于18的替换为18
③、numpy中的nan的注意点
你有没有发现上面的nan没有被替换,原因是当做了一个不合适的计算的时候(比如无穷大减去无穷大)会出现nan,表示不是一个数字。
那么如何指定一个nan或者inf呢?
要注意它们的type类型。
⑤、数组的行列交换
10、numpy中常用的统计函数
标准差
import pandas as pd
3、pandas之Series的索引和值
4、pandas之读取外部数据
5、pandas之DataFrame