[英]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做什么?
XT
是X
的轉置。 因此,在該行中, 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.