zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (四) 自动化部署
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (三) 服务观测
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (二) 部署微服务程序
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (一) 部署 Nacos
    C++知识点
    libmkl 学习笔记
    基于tesseract-OCR进行中文识别
    poco编译与运行
    Linux下的I/O复用与epoll详解(转载)
    高并发网络编程之epoll详解(转载)
  • 原文地址:https://www.cnblogs.com/155722-lq/p/12836960.html
Copyright © 2011-2022 走看看