Pythonのnumpyパッケージでは、ndarrayの2次元が空である状況を理解できません。ここに例があります:python numpy配列の空の次元を理解する方法は?
In[1]: d2 = np.random.rand(10)
In[2]: d2.shape = (-1, 1)
In[3]: print d2.shape
In[4]: print(d2)
In[5]: print d2[::2, 0].shape
In[6]: print d2[::2, 0]
Out[3]:(10, 1)
Out[4]:
[[ 0.12362278]
[ 0.26365227]
[ 0.33939172]
[ 0.91501369]
[ 0.97008342]
[ 0.95294087]
[ 0.38906367]
[ 0.1]
[ 0.67842086]
[ 0.23711077]]
Out[5]: (5,)
Out[6]: [ 0.12362278 0.33939172 0.97008342 0.38906367 0.67842086]
私の理解では、d2は10行1列のndarrayです。 Out [6]は明らかに1行5列の配列ですが、どのように次元を(5、)にすることができますか? 空の2次次元はどういう意味ですか?
'(5)'があいまいである(むしろ単に '5')ため、'(5、) 'はただ1つの項目でタプルを文字列にする方法です。 – jojonas
"Out [6]は明らかに1行5列の配列です" - いいえ、その配列には "1 by"はありません。一次元で長さが5の唯一の次元です。 – user2357112