中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Python科學(xué)計(jì)算之簡單環(huán)境搭建

這個(gè)是對于Python做科學(xué)計(jì)算,一張相對完整的思維導(dǎo)圖


在以前的科學(xué)計(jì)算是沒有conda的地位的,都是這個(gè)python(x,y)的項(xiàng)目


你可以嘗試的使用,我這里就是一個(gè)推薦

https://python-xy.github.io/
https://python-xy.github.io/downloads.html
https://cn.bing.com/?FORM=Z9FD1

這里我安利一下,微軟的搜索

我們主要用ipython來學(xué)習(xí),之后用Ide來工作

我們想在開機(jī)運(yùn)行的時(shí)候就運(yùn)行一段代碼

import numpy as npimport scipy as spimport pylab as plfrom numpy import *

我們這里用-i的選項(xiàng),引入環(huán)境

$ ipython [options] files

如果在沒有選項(xiàng)的情況下調(diào)用,它將執(zhí)行按順序列出的所有文件,并將您放到解釋器中,同時(shí)仍然確認(rèn)您在ipythonrc檔案。這種行為與標(biāo)準(zhǔn)Python不同,標(biāo)準(zhǔn)Python被稱為python -i將只執(zhí)行一個(gè)文件并忽略配置設(shè)置。

$ ipython -i myfile.py

我這里沒有什么在打開的一瞬間就引入庫的好辦法,這里先手動

會報(bào)錯(cuò),你的版本可能不會

將這庫降級

pip install --upgrade 'jedi<0.18.0'

然后試試有沒有成功

也可以直接的使用一些cmd命令

我們這里IDE使用Spyder是python(x,y)的項(xiàng)目的進(jìn)化版

spyder是Python(x,y)的作者為它開發(fā)的一個(gè)簡單的Python開發(fā)環(huán)境。和其它Python IDE相比它最大 的優(yōu)點(diǎn)就是模仿MATLAB的workspace功能,可以很方便地觀察和修改數(shù)組的值。

通過給array函數(shù)傳遞Python的序列對象創(chuàng)建數(shù)組,如果傳遞的是多層嵌套的序列,將創(chuàng)建多 維數(shù)組

import numpy as npa = np.array([1, 2, 3, 4])b = np.array((5, 6, 7, 8))c = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])

我們這里先創(chuàng)建一些數(shù)組

打印的結(jié)果

可以有一些方法,查詢變量類型+數(shù)據(jù)結(jié)構(gòu)大小


數(shù)組a的shape只有一個(gè)元素,因此它是一維數(shù)組。

而數(shù)組c的shape有兩個(gè)元素,因此它是二維數(shù)組, 其中第0軸的長度為3,第1軸的長度為4。

還可以通過修改數(shù)組的shape屬性,在保持?jǐn)?shù)組元素個(gè)數(shù)不 變的情況下,改變數(shù)組每個(gè)軸的長度。

下面的例子將數(shù)組c的shape改為(4,3),注意從(3,4)改為(4,3)并 不是對數(shù)組進(jìn)行轉(zhuǎn)置,而只是改變每個(gè)軸的大小,數(shù)組元素在內(nèi)存中的位置并沒有改變:

各個(gè)大小的數(shù)組大小

原有的大小

變換后的大小


當(dāng)某個(gè)軸的元素為-1時(shí),將根據(jù)數(shù)組元素的個(gè)數(shù)自動計(jì)算此軸的長度,因此下面的程序?qū)?shù)組c的 shape改為了(2,6):


輸出的結(jié)果


使用數(shù)組的reshape方法,可以創(chuàng)建一個(gè)改變了尺寸的新數(shù)組,原數(shù)組的shape保持不變:

輸出的結(jié)果

可以看到a,b的數(shù)據(jù)是共享一快內(nèi)存的

你會問為什么?

你看就是這樣,我對a[1]元素做了更改


數(shù)組的元素類型可以通過dtype屬性獲得。

上面例子中的參數(shù)序列的元素都是整數(shù),因此所創(chuàng)建的數(shù)組 的元素類型也是整數(shù),并且是32bit的長整型。

可以通過dtype參數(shù)在創(chuàng)建時(shí)指定元素類型:

紅字部分就是元素類型的參數(shù)


上面的例子都是先創(chuàng)建一個(gè)Python序列,然后通過array函數(shù)將其轉(zhuǎn)換為數(shù)組,這樣做顯然效率不高。

可以直接使用現(xiàn)成的函數(shù)來進(jìn)行數(shù)據(jù)列的生成


arange函數(shù)類似于python的range函數(shù),通過指定開始值、終值和步長來創(chuàng)建一維數(shù)組,注意 數(shù)組不包括終值

 linspace函數(shù)通過指定開始值、終值和元素個(gè)數(shù)來創(chuàng)建一維數(shù)組,可以通過endpoint關(guān)鍵字指定 是否包括終值,缺省設(shè)置是包括終值

 logspace函數(shù)和linspace類似,不過它創(chuàng)建等比數(shù)列,上面的例子產(chǎn)生1(10^0)到100(10^2)、 有20個(gè)元素的等比數(shù)列

使用frombuffer, fromstring, fromfile等函數(shù)可以從字節(jié)序列創(chuàng)建數(shù)組


Python的字符串實(shí)際上是字節(jié)序列,每個(gè)字符占一個(gè)字節(jié),因此如果從字符串s創(chuàng)建一個(gè)8bit的整數(shù)數(shù) 組的話,所得到的數(shù)組正好就是字符串中每個(gè)字符的ASCII編碼

如果從字符串s創(chuàng)建16bit的整數(shù)數(shù)組,那么兩個(gè)相鄰的字節(jié)就表示一個(gè)整數(shù),把字節(jié)98和字節(jié)97當(dāng)作 一個(gè)16位的整數(shù),它的值就是98*256+97 = 25185。

可以看出內(nèi)存中是以little endian(低位字節(jié)在 前)方式保存數(shù)據(jù)的。

如果把整個(gè)字符串轉(zhuǎn)換為一個(gè)64位的雙精度浮點(diǎn)數(shù)數(shù)組,那么它的值是以上


顯然這個(gè)例子沒有什么意義,但是可以想象如果我們用C語言的二進(jìn)制方式寫了一組double類型的數(shù) 值到某個(gè)文件中,那們可以從此文件讀取相應(yīng)的數(shù)據(jù),并通過fromstring函數(shù)將其轉(zhuǎn)換為float64類型 的數(shù)組。

與C語言的集成是另外一個(gè)有趣的故事

以上函數(shù)將數(shù)組下標(biāo)轉(zhuǎn)換為數(shù)組中對應(yīng)的值,然后使用fromfunction函數(shù)創(chuàng)建數(shù)組.

fromfunction函數(shù)的第一個(gè)參數(shù)為計(jì)算每個(gè)數(shù)組元素的函數(shù),第二個(gè)參數(shù)為數(shù)組的大小(shape),因?yàn)?它支持多維數(shù)組,所以第二個(gè)參數(shù)必須是一個(gè)序列,本例中用(10,)創(chuàng)建一個(gè)10元素的一維數(shù)組。

這不,就是一個(gè)9x9的乘法表

在其上面就像matlab一樣的變量表

可以直接的編輯這些元素

可以直接繪圖

這樣就可以直接的繪圖出來

[1,2,3,4]import numpy as npa = np.array([1, 2, 3, 4])b = np.array((5, 6, 7, 8))c = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])%varexp --plot b%varexp --hist aabcc.dtypea.shapeb.shapec.shapec.shape = 4,3cc.shape = 2,-1cd = a.reshape((2,2))daa[1]=7adnp.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]], dtype=np.float)np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]], dtype=np.complex)np.arange(0,1,0.1)np.linspace(0, 1, 12)np.logspace(0, 2, 20)s = "abcdefgh"np.fromstring(s, dtype=np.int8)np.fromstring(s, dtype=np.int16)np.fromstring(s, dtype=np.float)def func(i): return i%4+1 np.fromfunction(func, (10,))def func2(i, j): return (i+1) * ( j+1) a = np.fromfunction(func2, (9,9))a%varexp --plot c%varexp --plot b

以上的代碼是以上我寫的所有代碼,有需要復(fù)制使用的朋友可以直接使用

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python之Numpy庫常用函數(shù)大全(含注釋)
Python最牛逼數(shù)據(jù)分析庫!月薪35K大牛:整理的NumPy詳細(xì)教程!
快速入門 Numpy
NumPy教程
Python 機(jī)器學(xué)習(xí)庫 NumPy 教程
第79天:數(shù)據(jù)分析之 Numpy 初步
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服