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() # 显示图形

Python 科学工具使用的更多相关文章

  1. Python 科学工具笔记

    Python 科学工具笔记 numpy a = numpy.array([1,2,3,4]);// 创建一个numpy的数组对象 此时a.shape显示的值为(4,); 由此得出结论在一维的数组中, ...

  2. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

  3. Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

    用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...

  4. 你不得不看的Python机器学习工具

    IEEE Spectrum排行榜第一,Skill UP排名第一的开发工具,Stack Overflow年度调查中程序员最感兴趣的选择,Stack Overflow 6月份访问量最多的编程语言..... ...

  5. Python 科学计算-介绍

    Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...

  6. Python科学计算基础包-Numpy

    一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...

  7. python 科学计算及数据可视化

    第一步:利用python,画散点图. 第二步:需要用到的库有numpy,matplotlib的子库matplotlib.pyplot numpy(Numerical Python extensions ...

  8. PyCharm for Mac(Python 开发工具)破解版安装

    1.软件简介    PyCharm 是 macOS 系统上一款 Python 编辑利器,具有智能代码编辑器,能理解 Python 的特性并提供卓越的生产力推进工具:自动代码格式化.代码完成.重构.自动 ...

  9. python 开发工具简介

    一.python 开发工具简介 1.IDLE IDLE是开发python程序的基本IDE(集成开发环境),具备基本的IDE的功能,是非商业Python开发的不错的选择.当安装好python以后,IDL ...

随机推荐

  1. 基于Ace Admin 的菜单栏实现

    1.首先是数据库表必然包含以下几个字段Id ,ParnetId,Url,Name等 create table dbo.Module ( Id uniqueidentifier not null con ...

  2. .Net Core 使用Session

    1. NUGET包引用 icrosoft.AspNetCore.Session 2.Startup中添加一下代码: public void ConfigureServices(IServiceColl ...

  3. web.xml 有什么用?(Java框架)

      1.每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程 ...

  4. ios swift4之kvo的使用

    在swift4之前,使用kvo只需要继承NSObject 就可以了.但是swift4之后发生了变化,必须在class之前加入@objcMembers修饰,不然就没有效果了. 下面举个例子:如定义一个P ...

  5. luogu1900 自我数

    分享一个非正解的做法 本题解内存最低(\(\le1\rm MiB\)) 但是不开O2会tle 思路:每个数字仅会更新出1个新的数字,而且这个新数字比旧数字最多也就大70多.所以这里还是利用" ...

  6. 9.path Sum III(路径和 III)

    Level:   Easy 题目描述: You are given a binary tree in which each node contains an integer value. Find t ...

  7. 基础线程机制--Daemon,sleep(),yield()

    Daemon   守护线程是程序运行时在后台提供服务的线程,不属于程序中不可或缺的部分,当所有非守护进程执行完成时,程序也就终止,同时会杀死所有的守护进程.main()属于非守护线程.可以使用setD ...

  8. Til the Cows Come Home (dijkstra算法)

    Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before ...

  9. 求js数组的最大值和最小值

    数组 ,,,,,,,,,]; 方法1 - 字符串拼接法 利用toString或join把数组转换为字符串,再和Math的max和min方法分别进行拼接,最后执行eval方法 var max = eva ...

  10. PHP HTTP的PUT,DELETE的使用

    GET操作是安全的.所谓安全是指不管进行多少次操作,资源的状态都不会改变.比如我用GET浏览文章,不管 浏览多少次,那篇文章还在那,没有变化.当然,你可能说每浏览一次文章,文章的浏览数就加一,这不也改 ...