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. 利用PIL实现图片的切割

    功能描述: 切图前是一张图,切图后就是九张图!!! 展示: 实现流程图: 代码实现 # -*- coding: utf-8 -*- ''' 将一张图片填充为正方形后切为9张图 ''' from PIL ...

  2. Django之博客系统:增加评论

    3既然是博客,那肯定就有留言评论系统.在这一章就来建立一个评论系统. 1 创建一个模型来保存评论 2 创建一个表单来提交评论并且验证输入的数据 3 添加一个视图函数来处理表单和保存新的评论到数据库 4 ...

  3. Quick Reference Card Urls For Web Developer

    C# C# Cheatsheet & Notes Coding Guidelines for C# 3.0, 4.0, 5.0 Core C# and .NET Quick Reference ...

  4. Educational Codeforces Round 61 (Rated for Div. 2)F(区间DP,思维,枚举)

    #include<bits/stdc++.h>typedef long long ll;const int inf=0x3f3f3f3f;using namespace std;char ...

  5. Scrapy 中 Request 对象和 Response 对象的各参数及属性介绍

    Request 对象 Request构造器方法的参数列表: Request(url [, callback=None, method='GET', headers=None, body=None,co ...

  6. 平衡树学习笔记(3)-------Splay

    Splay 上一篇:平衡树学习笔记(2)-------Treap Splay是一个实用而且灵活性很强的平衡树 效率上也比较客观,但是一定要一次性写对 debug可能不是那么容易 Splay作为平衡树, ...

  7. ghj1222的代码规范

    基本上和notepad++的要求一样. 不定期更新. 1.左大括号换行: int main() { return 0; } 可能有些同志(比如大佬cjh)和我的做法不一样 当一个函数很短的时候可以整个 ...

  8. CF352A Jeff and Digits

    Jeff's got n cards, each card contains either digit 0, or digit 5. Jeff can choose several cards and ...

  9. 小程序首页不显示tabBar

    app.json中配置了tabBar,但是首页不想显示,首页跳转时使用 wx.redirectTo和wx.navigateTo无法完成跳转 这时用到了 wx.switchTab 可以实现我们的需求,首 ...

  10. DRAM与SRAM

    传送门:https://www.cnblogs.com/nano94/p/4014082.html 关于内存的补充知识传送门:https://blog.csdn.net/Hello_Sue/artic ...