科学计算

『科学计算』科学绘图库matplotlib学习之绘制动画

丶灬走出姿态 提交于 2020-04-02 07:32:33
基础 1.matplotlib绘图函数接收两个等长list,第一个作为集合x坐标,第二个作为集合y坐标 2.基本函数: animation.FuncAnimation(fig, update_point,data) fig是画布 update是绘画函数需自己定义,需要一个参数,会自动接收data,需要返回plt.plot对象,描述比较费解,看例子就好 data种类很多,包括总帧数(例1)、当前帧数(即不设定data的默认参数,例2)、返回迭代器的函数(例3)、list(作业2) frames=200 总帧数(非update参数) interval=20 帧间隔(毫秒) 示例代码 简单调用帧数绘图 from matplotlib import pyplot as plt import matplotlib.animation as animation import numpy as np def update_point(num): fig_points.set_data(data[:, 0:num]) return fig_points, fig1 = plt.figure() num_point = 50 data = np.random.rand(2, num_point) fig_points, = plt.plot([], [], 'ro') plt.xlim(0, 1)

Pytorch笔记 (3) 科学计算2

僤鯓⒐⒋嵵緔 提交于 2020-03-01 05:50:44
一、组织张量的元素 (1)重排张量元素 本节介绍在不改变 张量元素个数 和 各元素的值的情况下改变张量的大小 torch.Tensor类的成员方法 reshape() 参数是多个int类型的值。 如果想要把一个张量的大小改成 s[0],s[1],s[2],s[3]....那就让s[0],s[1],s[2],s[3]....作为reshape() 方法的n个参数 使用 reshape() 在不改变元素个数和各元素的值的情况下改变张量大小 tc = torch.arange(12) #张量大小 (12,) print('tc={}'.format(tc)) t322 = tc.reshape(3,2,2) #张量大小 (3,2,2) print('t322={}'.format(t322)) t43 = t322.reshape(4,3) #张量大小(4,3) print('t43={}'.format(t43)) tc=tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) t322=tensor([[[ 0, 1], [ 2, 3]], [[ 4, 5], [ 6, 7]], [[ 8, 9], [10, 11]]]) t43=tensor([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]])

【03】Python科学计算:Pandas

谁说胖子不能爱 提交于 2020-02-29 23:07:43
上一章中,我们讲了 Python 的一个重要的第三方库 NumPy,今天我来给你介绍 Python 的另一个工具 Pandas。 在数据分析工作中,Pandas 的使用频率是很高的,一方面是因为 Pandas 提供的基础数据结构 DataFrame 与 json 的契合度很高,转换起来就很方便。另一方面,如果我们日常的数据清理工作不是很复杂的话,你通常用几句 Pandas 代码就可以对数据进行规整。 Pandas 可以说是基于 NumPy 构建的含有更高级数据结构和分析能力的工具包。在 NumPy 中数据结构是围绕 ndarray 展开的,那么在 Pandas 中的核心数据结构是什么呢? 下面主要给你讲下 Series 和 DataFrame 这两个核心数据结构,他们分别代表着一维的序列和二维的表结构。基于这两种数据结构,Pandas 可以对数据进行导入、清洗、处理、统计和输出。 数据结构:Series 和 DataFrame Series 是个定长的字典序列。说是定长是因为在存储的时候,相当于两个 ndarray,这也是和字典结构最大的不同。因为在字典的结构里,元素的个数是不固定的。 Series 有两个基本属性:index 和 values。在 Series 结构中,index 默认是 0,1,2,……递增的整数序列,当然我们也可以自己来指定索引,比如 index=[‘a’,

Python科学计算 1.基础知识

寵の児 提交于 2020-02-27 19:01:13
科学计算概况 科学计算也成计算科学,其主要思路是开发数学模型,通过量化分析技术和计算机解决问题 科学计算的简单处理流程 误差分析是评估近似解对算法或计算过程准确性的影响程度的过程。 计算误差分为两大类:截断误差和舍入误差。 敏感度、稳定性、准确性(问题和算法的重要属性) 科学计算的数学 线性方程 非线性方程 一维非线性方程解法:二分法、牛顿法、割线法、插值法等。 非线性方程组的解法:牛顿法、割线法、阻尼牛顿法、Broyden法。 注释:这些方法都是迭代法,所以收敛的速度至关重要 最优化方法:获得最优可行性解得过程。 内插法:估计样本这个函数在样本范围内的某个位置上的值。估计的过程称为内插法。 分段常数内插法。 线性内插法。 多项式内插法。 样条内插法。 基于高斯过程的内插法。 外插法:估计函数在样本之外的值。 线性外插法。 多项式外插法。 锥外插法。 法国曲线外插法。 数值积分:用数值分析技术求取积分的近似值。 辛普森法则。 梯形法则。 精炼梯形法则。 高斯计分法则。 数值微分:利用已知的函数值估计函数导数的过程。 有限差分近似法。 微分求积法。 有限差分系数。 插值微分法。 微分方程:是一种描述导数与其函数关系的数学方程式。 解常微分方程的方法: 欧拉方法。 泰勒级数法。 龙格-库塔法。 四阶龙格-库塔法。 预估-校正法。 解偏微分方程法: 有限元法。 有限差分法。 有限体积法。

科学计算库Numpy基础操作

社会主义新天地 提交于 2020-02-27 03:22:17
pycharm,python3.7,numpy版本1.15.1 2018年9月11日04:23:06 """ 科学计算库Numpy基础操作 时间:2018\9\11 0011 """ import numpy print("""\n------以矩阵的方式读取数据------\n ------------genfromtxt函数('文件路径',delimiter = '分隔符',dtype = 读取方式)---------------------""") """ numpy.ndarray可以当做一个矩阵 """ np_test = numpy.genfromtxt('Numpy_test.txt', delimiter = ',', dtype = str) # 通常以str方式读取,如果有float,再进行转换 print(type(np_test)) print(np_test) # print(help(numpy.genfromtxt)) # 打印帮助文档 print("""\n------numpy.array------\n ------------numpy中最核心的结构------------------------------------------""") # 传入list结构,转换为ndarray格式 vector = numpy.array([5, 10,

python学习笔记(2):科学计算及数据可视化入门

拈花ヽ惹草 提交于 2020-02-26 22:10:08
一、NumPy   1.NumPy:Numberical Python   2.高性能科学计算和数据分析的基础包   3.ndarray,多维数组(矩阵),具有矢量运算的能力,快速、节省空间     (1)ndarray,N维数组对象(矩阵)     (2)所有元素必须是相同类型     (3)ndim属性,维度个数     (4)shape属性,各维度的大小     (5)dtype属性,数据类型   4.矩阵运算,无需循环,可完成类似Matlab中的矢量计算   5.线性代数、随机数生成   6.import numpy as np narray多维数组 import numpy as np #生成指定维度的随机多维数组 data = np.random.rand(2,3) //生成一个两行三列的多维数组 print dataprint type(data)      //查看数据类型,这个地方数据类型是numpy.ndarray的数据类型 [[0.16088508 0.86321185 0.25653982] [0.42456419 0.33277194 0.30046417]] <class 'numpy.ndarray'># print '维度个数', data.ndim    //维度个数 2     维度个数有两个,第0个维度大小是2,第一个维度大小是3print

科学计算库Numpy(1)

…衆ロ難τιáo~ 提交于 2020-02-26 17:58:34
Numpy 一,数据结构 数据类型: ndarray import numpy world_alchol = numpy.genfromtxt('world_alchol.txt',delimiter=',',dtype=str) print(type(world_alchol)) print(world_alchol) print(help(numpy.genfromtxt)) 创建一维的数组: vector = numpy.array([5,10,15,20]) 创建二维的数组: matrix = numpy.array([[5,10,15,20],[15,20,25,30]]) 查看数据的结构: vector.shape ------- (4,) 一行四列 matrix.shape ------- (2,4) 两行四列 在numpy.array中的数据类型是限定的,必须是一种数据结构; 数字,string,浮点数等等... 通过索引获取数组的值,行和列的开始都是0开始; vector[2,] 的值是15; matrix[1,2] 的值是25; 想取数组的某一列; matrix[:,2] 的值是15 ,25 如果取两列的话; matrix[:,0:2] 的值是:array([[ 5, 10],[15, 20]]) 判断一个值是否在,返回值是bool类型; vector ==

Python科学计算——Numpy.genfromtxt

感情迁移 提交于 2020-02-12 00:22:29
今天在kaggle上看到一个很好的数据集,想亲自进行处理,但是在将.csv格式文件转化为数据矩阵时就出现了问题,我在谷歌上查了下,发现了个很好用的东西和大家分享。那就是Numpy包里的genfromtxt。它可以很轻松的实现上述功能。 此函数的完整形式为: numpy.genfromtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, skip_header=0, skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None, names=None, excludelist=None, deletechars=None, replace_space='_', autostrip=False, case_sensitive=True, defaultfmt='f%i', unpack=None, usemask=False, loose=True, invalid_raise=True, max_rows=None)[source]¶ 今天先介绍几个一定会用到的属性: 1.fname,顾名思义,就是文件名,不详述 2.delimiter:str,int,or sequence,optional

科学计算工具NumPy(2):ndarray的矩阵处理

二次信任 提交于 2020-02-12 00:17:33
科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 ndarray的矩阵运算 数组是编程中的概念,矩阵、矢量是数学概念。 在计算机编程中,矩阵可以用数组形式定义,矢量可以用结构定义! 1. 矢量运算:相同大小的数组间运算应用在元素上 # 矢量与矢量运算 arr = np.array([[1, 2, 3], [4, 5, 6]]) print("元素相乘:") print(arr * arr) print("矩阵相加:") print(arr + arr) 运行结果: 元素相乘: [[ 1 4 9] [16 25 36]] 矩阵相加: [[ 2 4 6] [ 8 10 12]] 2. 矢量和标量运算:"广播" - 将标量"广播"到各个元素 # 矢量与标量运算 print(1. / arr) print(2. * arr) 运行结果: [[ 1. 0.5 0.33333333] [ 0.25 0.2 0.16666667]] [[ 2. 4. 6.] [ 8. 10. 12.]] ndarray的索引与切片 1. 一维数组的索引与切片 与Python的列表索引功能相似 # 一维数组 arr1 = np.arange(10) print(arr1) print

Python科学计算包

断了今生、忘了曾经 提交于 2020-02-08 02:03:26
1. python 数据分析: Numpy (数组 , 矩阵) ,Pandas, matplotlib 2. Python 爬虫模块: re,urllib, beautifulsoup, request, xpath, lxml,phantomjs,selenium,pymssql time ,thread, scrapy 框架, Pysplider 框架 --------------------numpy 1. arange() 2. linspace() 3. logspace() 4. fromstring() 5. fromfunction() 6. reshape(), shape() 7. tofile()---fromfile(“”,dtype=), np.save()---nvp.load() 3. Numpy------ NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。使用NumPy,开发人员可以执行以下操作: 数组的算数和逻辑运算。 傅立叶变换和用于图形操作的例程。 与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数 高级功能:广播 4. Scipy— 数值计算库 SciPy 函数库在 NumPy 库的基础上增加了众多的数学