其他的图形的绘制
散点图、条形图、水平条形图,直方图
散点图和条形图类似
例如:属性很多都是类似的,比如透明度,线条颜色
设置x,y坐标,然后绘制,显示
plt.scatter(x,y)
绘制条形图
plt.bar(x,y,width=0.3)#宽度控制条形图,条状的宽度
绘制水平方向的条形图
plt.barh(x,y,height=0.3)#height条状宽度
绘制直方图
plt.hast(a,numbins)#a是原始数据可以是列表,b的分组个数将a数据分为多少组
组数 = 极差//组距 = (max(a) - min(a))//d)#d为自己估算得
当这个结果为小数的时候,绘制网格图,会产生图形偏移现象,所以尽量为整数
将直方图改为频率直方图:加入一个density=True的属性值
numpy
为什么要学numpy
1、快速,
2、方便
3、科学计算的基础库
什么是numpy
一个python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于大型,多维数组上执行数值运算
numpy的基本使用
一、数据类型的查看和修改
1、创建数组
import numpy as np
a = np.array(range(1,6))
上述方法可以用
a = np.arange(1,6)#代替
2、查看数组中的数据类型
a.dtype
3、设置数据类型
a = np.array(range(1,6), dtype=float)
4、修改数据类型
a.astype(‘int8’)#还有其他的数据类型
二、维度变化shape
1、维度查看
t = np.arange(0,12)
t.shape
2、维度改变
t.reshape((2,6))#两行六列改变前后的元素个数不能改变
3、多维数组转为一维
t.flatten()
三、数组的计算
数组和常量:
1、数组的加减
a = np.array(range(0,6))
a = a+1 #每一个数据都执行加1操作,减法同理
2、数组的乘除
a = a/2
a = a/0#可能产生两个值,nan inf,分别是not a number 和infinite
数组和维度相同的数组:
1、数组之间的相加,相减
a = np.array(range(0,6))
b = np.array(range(0,6))
a + b#a的每一位加上b的每一位
结果a+b
array([[ 0, 2, 4],
[ 6, 8, 10]])
2、数组之间的乘除
和加法类似-都是位置相同的进行乘法操作
a*b
array([[ 0, 1, 4],
[ 9, 16, 25]])
3、数组和数组不同维度计算原则
广播原则,两个数组的后缘维度(从末尾开始计算的维度)的轴长度或者其中一方为1,则认为他们是广播兼容的,广播会在缺失和(或)者长度为1的维度上进行
例如:shape为(3,3,2)的数组能和(3,2)进行计算
例如:shape(3,4)能和(3,1)计算
例如:shape(3,4)能和(1,4)计算
numpy读取csv数据
np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
参数说明
frame文件路径
dtype以什么形式的数据读取到数组中
delimiter分隔符
skiprows跳过x行,一般跳表头
usecols读取指定的列
unpack 矩阵的转置
numpy的转置(矩阵的转置):
1、t.transpose()
2、t.T
3、t.swapaxes(1,0)交换1轴和0轴
numpy的切片操作和索引
t2 = np.arange(0,20).reshape(4,5)
#获取某一行:
t2[0]#获取第0行
#获取连续的某行
t2[3:]
#获取不连续的某行
t2[[1,3]]
#获取某列:
t2[:,3]
#取连续的多列:
t2[:,2:]
#取不连续的多列
t2[:,[1,2,3]]
#取多个不相邻的点
t2[[0,2],[1,3]]#代表01和23两个点