Python3科学计算常见库入门

Numpy快速数据处理库

参见我的博客

http://www.cnblogs.com/brightyuxl/p/8981294.html

http://www.cnblogs.com/brightyuxl/p/8977075.html

http://www.cnblogs.com/brightyuxl/p/8855948.html

http://www.cnblogs.com/brightyuxl/p/8846701.html

SciPy数值计算库

常数和特殊函数

from scipy import constants
print('真空中的光速:{}'.format(constants.c))
print('普朗克常数: {}'.format(constants.h))
print('电子质量(数值,单位,误差): {}'.format(constants.physical_constants['electron mass']))
真空中的光速:299792458.0
普朗克常数: 6.62607004e-34
电子质量(数值,单位,误差): (9.10938356e-31, 'kg', 1.1e-38)

特殊函数

Gamma函数\(\Gamma\)是统计学中经常出现的一个特殊函数:

\[\Gamma(z) = \int_0^{\infty}t^{z-1}e^{-t}dt
\]

import scipy.special
print(scipy.special.gamma(0))
print(scipy.special.gamma(0.5))
print(scipy.special.gamma(1))
print(scipy.special.gamma(1.5))
print(scipy.special.gamma(2))
inf
1.7724538509055159
1.0
0.8862269254527579
1.0

\(\ln(|\Gamma(x)|)\)可以计算更大的数

scipy.special.gammaln(1000)
5905.220423209181
import numpy as np
print(1+1e-20)
print(np.log(1+1e-20))
print(scipy.special.log1p(1e-20)) # log1p(x) = log(1+x)
1.0
0.0
1e-20

matplotlib快速绘图库

import matplotlib.pyplot as plt
import numpy as np x = np.linspace(0, 10, 1000)
y = np.sin(x)
z = np.cos(x**2) plt.figure(figsize=(8,4)) plt.plot(x,y,label='$sin(x)$', color='red',linewidth=2)
plt.plot(x,z,'b--',label='$cos(x^2)$') plt.xlabel('Time(s)')
plt.ylabel('Volt')
plt.title('PyPlot First Example')
plt.ylim(-1.2,1.2)
plt.legend
plt.savefig('My_figure')
plt.show()

Pandas数据分析友好库

import pandas as pd

s = pd.Series([1,2,3,4,5,6], index=['a','b','c','d','e','f'])
print(s)
a    1
b 2
c 3
d 4
e 5
f 6
dtype: int64

SymPy符号运算库

\[e^{i\pi} + 1 = 0
\]

from sympy import E, I, pi
E**(I*pi) + 1 # 证明欧拉等式
0
from sympy import symbols, expand
x = symbols('x')
expand(E**(I*x))
exp(I*x)

Python3小知识点

1.写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数

其实人跟树一样,越是向往高处的阳光,它的根就越要伸向黑暗的地底。

def StringCounter(seq):
dic = {
'num':0,
'string':0,
'space':0,
'other':0
}
for s in seq:
if s.isdigit():
dic['num'] += 1
elif s.isalpha():
dic['string'] += 1
elif s.isspace():
dic['space'] += 1
else:
dic['other'] += 1
return dic
# 验证函数
print(StringCounter('dfasfdaslfkjl 12312 @@!#!@#'))
{'num': 5, 'string': 13, 'space': 5, 'other': 7}

2.分析下列代码的运行过程

x=1

def f1():
def f2():
print(x)
return f2 x=100 def f3(func):
x=2
func() x=10000 f3(f1())
10000

3.查看a与b的不同之处

a = [1,2,3]
b = [(1),(2),(3)]
print(a == b)
print(a is b)
True
False

4.切片回忆

name = ['trek', 'cannondale', 'redline', 'specialized', 'trek']
print('1:', name)
print('2:', name[0], name[2])
print('3:', name[1:3]) #切片
print('4:', name[-2:]) #切片
print('5:', name[::-1]) #切片的结果是倒序排列
print('6:', name[:-1]) #切片的结果是,输出到倒数第二位 -1-1=-2
1: ['trek', 'cannondale', 'redline', 'specialized', 'trek']
2: trek redline
3: ['cannondale', 'redline']
4: ['specialized', 'trek']
5: ['trek', 'specialized', 'redline', 'cannondale', 'trek']
6: ['trek', 'cannondale', 'redline', 'specialized']

Python3科学计算库概况的更多相关文章

  1. SciPy - 科学计算库(上)

    SciPy - 科学计算库(上) 一.实验说明 SciPy 库建立在 Numpy 库之上,提供了大量科学算法,主要包括这些主题: 特殊函数 (scipy.special) 积分 (scipy.inte ...

  2. python科学计算库的numpy基础知识,完美抽象多维数组(原创)

    #导入科学计算库 #起别名避免重名 import numpy as np #小技巧:从外往内看==从左往右看 从内往外看==从右往左看 #打印版本号 print(np.version.version) ...

  3. python科学计算库numpy和绘图库PIL的结合,素描图片(原创)

    # 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object): def ...

  4. numpy科学计算库的基础用法,完美抽象多维数组(原创)

    #起别名避免重名 import numpy as np #小技巧:print从外往内看==shape从左往右看 if __name__ == "__main__": print(' ...

  5. Python科学计算库

    Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...

  6. ubuntu14.04 下安装 gsl 科学计算库

    GSL(GNU Scientific Library)作为三大科学计算库之一,除了涵盖基本的线性代数,微分方程,积分,随机数,组合数,方程求根,多项式求根,排序等,还有模拟退火,快速傅里叶变换,小波, ...

  7. windows下如何快速优雅的使用python的科学计算库?

    Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy.pandas和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些 ...

  8. Python科学计算库Numpy

    Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...

  9. 科学计算库Numpy基础&提升(理解+重要函数讲解)

    Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组.矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层 ...

随机推荐

  1. nodejs 使用http模块保存源码

    var xpath=require("xpath"); var fs=require("fs"); var dom = require('xmldom').DO ...

  2. ES系列六、ES字段类型及ES内置analyzer分析

    一.背景知识 在Es中,字段的类型很关键: 在索引的时候,如果字段第一次出现,会自动识别某个类型,这种规则之前已经讲过了. 那么如果一个字段已经存在了,并且设置为某个类型.再来一条数据,字段的数据不与 ...

  3. hping网络安全工具的安装及使用

    hping是用于生成和解析TCPIP协议数据包的开源工具.创作者是Salvatore Sanfilippo.目前最新版是hping3,支持使用tcl脚本自动化地调用其API.hping是安全审计.防火 ...

  4. jmeter之beanshell取出需要参数,传递给下个请求

    jmeter之beanshell取出需要参数,传递给下个请求 事件背景: 上周同事用jmeter录制脚本,录制成功回放后,并没有达到自己想要的结果. ps:他想从数据库取出某个字段值,然后对数据库做操 ...

  5. Gradient Domain Guided Image Filtering(梯度域导向滤波)

    作者提出了一种新的梯度域引导图像滤波器,通过将明确的一阶边缘感知约束结合到现有的引导图像滤波器中. matlab代码实现 转载至:https://blog.csdn.net/majinlei121/a ...

  6. Sandcastle方法生成c#.net帮助类帮助文档chm

    Sandcastle方法生成c#.net帮助类帮助文档即chm后缀的文档,其实是通过C#文档注释生成的XML文件来生成帮助文档的.因此,第一步就是生成XML文档, 步骤1生成XML文档 1.打开VS- ...

  7. 采用busybox 代替android 自带的shell

    折腾了几天,被Android那点儿少得可怜的shell命令折磨的死去活来,终于下定了革命的决心.看一下怎么把渺小的toolbox替换成伟大的busybox吧.先大致描述一下Android系统中的she ...

  8. php 爬取数据

    简单. 灵活.强大的PHP采集工具,让采集更简单一点. 简介: QueryList使用jQuery选择器来做采集,让你告别复杂的正则表达式:QueryList具有jQuery一样的DOM操作能力.Ht ...

  9. 08 IO库

    #include<iostream> #include<vector> #include<string> #include<fstream> using ...

  10. contenteditable="true"让div可编辑

    今天才知道有这个属性,真是out了. 不过以前一直没做编辑器有关的,毕竟开源的很多. 现在觉得开源的也不是这么好用,自己写写简单的吧 用了 <div class="content-bo ...