numpy和matplotlib读书笔记

1.numpy笔记:
获取numpy.array中最后一列的数据
1.y = to_nparray[:,-1] # 最后一列
2.X = to_nparray[:,0:-1] # 从第一列开始到倒数第二列


numpy.dtype:int转字符串
1.# np.dtype: int转字符串
2.res = np.char.mod('%d', res)


numpy拼接字符串array
1.# numpy拼接字符串
2.res = np.core.defchararray.add(prefix, res)

numpy按行合并两个numpy.array
1.# 按行合并两个numpy.array,ID和res是np.array
2.data = np.hstack((ID, res))

numpy.array转DataFrame

1.# numpy.array转DataFrame

2.df = DataFrame(data, columns=['ID', 'Pred'])


numpy产生随机矩阵
1.# 产生小数矩阵
2.np.random.random((shape0, shape1))
3.# 产生标准正态分布矩阵
4.np.random.randn(shape0, shape1)




numpy保留小数点后一位
1.# out: optional
2.np.around(matrix, decimals=1, out=None)
3.# 保留两位,将decimals改为2即可

 

随机产生矩阵
np.random.rand(4,4)
随机产生一个4*4的矩阵

 

矩阵自运算

X.flags    #数组的存储情况信息。

X.shape  
#结果是一个tuple,返回本数组的行数、列数、……
X.ndim   #数组的维数,结果是一个数
X.size    #数组中元素的数量
X.itemsize  
 #数组中的数据项的所占内存空间大小
X.dtype    #数据类型
X.T   #如果X是矩阵,发挥的是X的转置矩阵
X.trace()    #计算X的迹
np.linalg.det(a)   #返回的是矩阵a的行列式
np.linalg.norm(a,ord=None)  
 #计算矩阵a的范数
np.linalg.eig(a)  
 #矩阵a的特征值和特征向量
np.linalg.cond(a,p=None)  
 #矩阵a的条件数
np.linalg.inv(a)  
 #矩阵a的逆矩阵

 


矩阵二元运算
内积:np.dot(a,b)
矢量外积:outer(a,b)

 

2.matplotlib笔记

1  matplotlib简介
matplotlib是Pythom可视化程序库的泰斗,经过几十年它仍然是Python使用者最常用的画图库。有许多别的程序库都是建立在它的基础上或直接调用它,比如pandas和seaborn就是matplotlib的外包,它们让你使用更少的代码去使用matplotlib的方法。Gallery页面中有上百幅缩略图,打开之后都有源程序,非常适合学习matplotlib。

利用IPython --pylab可以进入Pylab模式,已经导入了matplotlib库和相关软件包(如numpy和scipy),如果安装了anconda,可以按(win + R)打开运行窗口,输入ipython --pylab启动IPython。在notebook模式下可以通过命令%matplotlib inline 使图片内嵌在交互窗口。

2 图和子图的建立
2.1 导入matplotlib
import matplotlib.pyplot as plt

2.2  建立图和子图方式一
plt.plot( )会在最近的一个图上进行绘制
from numpy.random import randn
fig = plt.figure(figsize = (8,4)) #设置图的大小
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,1,2)
ax3.plot(randn(50).cumsum(),'k--') # plt.plot(randn(50).cumsum(),'k--')等效
ax1.hist(randn(100),bins = 10, color = 'b', alpha = 0.3) #bins 分成多少间隔 alpha 透明度
ax2.scatter(np.arange(30),np.arange(30) + 3*randn(30))
plt.show()

2.3 建立子图方式二
from numpy.random import randn
fig, axes = plt.subplots(2,2) #以数组方式访问
t = np.arange(0., 5., 0.2)
axes[0,0].plot(t, t, 'r-o', t, t**2, 'bs', t, t**3, 'g^') #同时绘制多条曲线
axes[1,1].plot(randn(40).cumsum(),'b--')
plt.show()

2.4 主题设置
使用style.use()函数
df_iris = pd.read_csv('../input/iris.csv')
plt.style.use('ggplot') #'fivethirtyeight','ggplot','dark_background','bmh'
df_iris.hist('sepal length')
plt.show()

2.5  颜色、标记、线型、刻度、标签和图例
from numpy.random import randn
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
ax1.plot(randn(30).cumsum(),color = 'b',linestyle = '--',marker = 'o',label = '$cumsum$') # 线型 可以直接'k--o'
ax1.set_xlim(10,25)
ax1.set_title('My first plot')
ax1.set_xlabel('Stages')
plt.legend(loc = 'best') #把图放在不碍事的地方 xticks([])设置刻度
plt.show()

 

posted @ 2020-05-06 16:06  tqqqy  阅读(215)  评论(0编辑  收藏  举报