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. Linux的capability深入分析(1)【转】

    转自:https://blog.csdn.net/wangpengqi/article/details/9821227 一)概述: )从2.1版开始,Linux内核有了能力(capability)的概 ...

  2. ubuntu 禁用 guest 账户

    第一步: run the command(s) below:        (编辑如下文件) sudo vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.c ...

  3. WallPaper

    LiveWallPaper 动态壁纸是从Android2.1就开始带有的一个新的特性.它让我们能够将本来毫无生气的静态的手机屏幕背景替换成 从 随着音乐的活力和脉动而跳跃的声线 到 手指抚过能激起阵阵 ...

  4. java调用monkeyrunner(亲测绝对可行)

    我自己试验了下和官方的API编写不太一样,老别扭了,建议还是用Python写吧 昨天在网上查了一下一天,都是转来贴别人的,真正敲的很少,我真不知道转的大侠你们自己敲了么? 先截一段不负责任的blog图 ...

  5. expdp和impdp快速导出导入,不用创建虚拟目录

    expdp 和impdp不用创建虚拟目录:在cmd直接   expdp 用户名/密码 回车 就导出了,(如果提示输入用户名和密码就输入).再将导出的文件放在oracle默认的dpdump文件夹里面,然 ...

  6. mysql5.7安装教程图解

    启动安装包: 左边是你电脑上可以连接到mysql的软件,比如Visual Studio,Eclipse,PyCharm等,中间是需求的版本或者额外组件,右边是状态. 选择一个选项,然后点击下面的che ...

  7. 【ES】代码例子

    #!/usr/bin/env python #coding=utf-8 from elasticsearch import Elasticsearch from elasticsearch_dsl i ...

  8. cf796d 树,bfs好题!

    绝对是好题,把所有警察局放入队列然后开始广搜,如果碰到了vis过的顶点,但是那条边没有访问过,那么这条边就可以删掉 另外广搜的vis标记是在入队时就打的,, #include<bits/stdc ...

  9. 步步为营-57-JQuery练习题

    01 点谁谁哭 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head&g ...

  10. 《剑指offer》-孩子们的游戏(圆圈中最后剩下的数)

    每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指定一个数m ...