zoukankan      html  css  js  c++  java
  • Python 科学工具笔记

    Python 科学工具笔记

    numpy

    • a = numpy.array([1,2,3,4]);// 创建一个numpy的数组对象
      此时a.shape显示的值为(4,);
      由此得出结论在一维的数组中, 数组的是列优先的
    • numpy.random.uniform(low, high):
      产生在low和high之间的随机数
    • numpy.vdot(arrA, arrB):
      计算arrA与arrB的数量积
    • numpy.max(), .min(), .sum(), .average()
    • numpy.random.randn():

    Scipy

    • scipy.integrate.quad(funcname, low, high): funcname函数的仅仅返回一个需要求解积分的式子
      low: 积分下线
      high: 积分上限

    matplotlib.pyplot

     import matplotlib.pyplot as plt
     plt.hist()
     plt.plot()
     plt.pie()
     plt.bar()
     plt.show()
     plt.scatter()
    

    numpy库使用

    • genfromtxt(filename, delimiter, dtype, skip_header=1/2)

    filename: 文件名

    delimiter: 分隔符, 用于分隔文件中每行的内容放入到矩阵中

    dtype: 矩阵中的类型, ATTENTION: numpy矩阵中的所有元素是同一个类型

    skip_header: 是否跳过首行

    • numpy.array(list): 根据list返回一个numpy的矩阵
    • obj.shape: 返回维度信息
    • obj.dtype: 返回numpy的dtype类型对象, 显示矩阵中的元素类型
    • [2], [2:3]: 对以为矩阵, 获取指定的元素

    对于二维矩阵元素的获取:

    [2:3, 3:4]: 逗号左侧表示对行的切片, 逗号右边表示对列的切片

    • 对numpy中的矩阵进行操作符的操作(<. ==, >)等指的是对矩阵中每一个元素进行该操作, bool类型的操作返回的是bool序列

    • 矩阵中的切片可是一个bool类型的序列, [bool_list], 返回对应的为True的元素组成的序列

    • obj.astype(dtype): 改变元素的类型

    • obj.min(),.max(), sum(),其中可以添加默认参数, axis=1|0, 如果为0表示按照列为单位计算min, max等, 返回每一行的min, max等, 如果为axis=1则是以行为单位

    • numpy.isnan(array): 返回bool序列, 判断元素的空项

    • obj.arange(0, 100, 2)

    • obj.linspace(0, 100, 100)

    • obj.ndim: 返回矩阵的维度

    • obj.size: 元素个数

    • obj.zeros(tuple)

    • obj.ones(tuple)

    • numpy.random.random((2, 3)): 生成2行3列的元素为随机数的矩阵

    • obj0.dot(obj1)或者numpy.dot(obj0, obj1): 矩阵乘法, obj0的列向量与obj1的行向量的数量积

    • numpy.exp(array), numpy.sin(array), numpy.sqrt(array), numpy.floor(array)

    • obj.ravel(): 解开矩阵, 将矩阵拉成以为向量

    • numpy.vstack(obj0, obj1): 将obj0与obj1垂直拼接

    • numpy.hstack(obj0, obj1): 将obj0与obj1水平拼接

    • numpy.vsplit(obj, 3): 将obj垂直切两刀平均分为3个矩阵

    • numpy.hsplit(obj, 3): 同理

    • numpy.vsplit(obj, (2, 3)): 以2行3列的元素所在的列为分隔线分隔为3份

    • numpy.hsplit(obj, (2, 3)): 同理

    • numpy.reshape(2, 3): 调整矩阵的行和列

    • obj.view(): 浅拷贝, 不建议使用

    • obj.copy(): 深拷贝

    • obj.tile(2, 3): 也为拷贝, 但是拷贝出来的矩阵的行是原来的2倍, 列是原来的3倍

    • obj.sort(axis=1|0): 按照行或者列进行判断

    pandas库使用(pandas是对numpy的封装, 随意可以混合使用)

    • pandas.read_csv(filename): 读取文件返回DataFrame对象(df), 只要数据是以逗号分隔的都可使用read_csv读取
    • df.dtypes返回类型
    • df.head(3): 查看前3行
    • df.tail(3): 查看后3行
    • df.columns: 列名
    • df.shape: 维度信息, 表格的行和列信息
    • df.loc[index]: 返回指定行的信息
    • df['string']: 返回指定的名称的列信息, 返回Series, DataFrame就是有很多个Series中组成的
    • 在pandas中的python内置的str类型为object类型(dtype中显示的)
    • obj.dropna(): 去掉有空项的行
    • Series对象

    series.index返回index序列

    series.sortindex排序index

    series.sortvalues排序values

    series[0]|series['str']: 返回索引对应的value

    matplotlib.pyplot库使用

    • 画出折线图

    import matplotlib.pyplot as plt

    x_values = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

    y_values = [100, 200, 300, 120, 12, 213, 123]

    x_label = 'Days'

    y_label = 'Rain flow'

    line_color = 'red'

    legend_string = 'Trend'

    plt.plot(x_label, y_label, c=line_color, label=legend_string) # plot函数作用: 画出图或者线(指的仅仅是折线, 柱形图的, 并不包含坐标的绘画)

    plot函数参数介绍:

    1: x轴数据序列

    2: y轴数据序列

    3: c: 折线的颜色

    4: label: 折线对应的名称

    plt.xlabel(x_label)

    plt.ylabel(y_label)

    plt.title('Demo')

    plt.ledend(loc='best') # 显示折线对应的label, 就是图例

    plt.xticks(rotation=45) # 设置x轴显示的数据的倾斜度为45, 便于显示标签

    plt.show() # 显示图形

  • 相关阅读:
    委托&指针函数&回调函数
    Unity animation笔记1
    hadoop源码编译
    protocbuf的安装
    学习hadoop不错的一些文章
    moven的安装
    在Linux上安装与配置Hadoop
    linux tar命令详解
    How to contribute to hadoop common
    Ubuntu下SVN的安装
  • 原文地址:https://www.cnblogs.com/megachen/p/9555888.html
Copyright © 2011-2022 走看看