簡體   English   中英

python數據分析,難以理解食譜代碼

[英]python data analysis, difficulty understanding cookbook code

我正在學習使用python進行數據分析等等。我對這段代碼中scipy cookbook的內容感到有些困惑。

當食譜描述集成和繪圖過程時,通過matplotlib,它首先:

t = linspace(0, 15, 1000)
X0 = array([10,5])
X = scipy.integrate.odeint(dX_dt, X0, t)
rabbits, foxes = X.T

這段代碼有什么作用?

rabbits, foxes = X.T

具體來說,XT做什么?

XTX的轉置。 因此,在該行中, X必須是具有形狀(N,2)的數組。 當你轉置它時,你得到一個形狀(2,N)的數組,可以解壓縮。

考慮:

>>> import numpy as np
>>> a = np.arange(10).reshape((5,2))
>>> a
array([[0, 1],
       [2, 3],
       [4, 5],
       [6, 7],
       [8, 9]])
>>> B,C = a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> B,C = a.T
>>> B
array([0, 2, 4, 6, 8])
>>> C
array([1, 3, 5, 7, 9])

另請注意, 只要有可能 ,轉置將返回一個新視圖(不會復制數據),因此這是一個非常有效的操作。

T代表轉置。 因此,X被對齊,以便將兔子分配給第一個元素,將狐狸分配給第二個元素。 這些是數組(相當於線性代數中的矩陣)而不是列表,因此對齊確實很重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM