2016-07-18 14 views
3

I'dログnumpyのこの形式のアレイで理由を以下のコードを理解したいとnumpyのアレイと

print((hypothesis(x, theta_))) 

結果

[0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,  
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5] 

を、私はnumpy.log関数を適用します。

print(np.log(hypothesis(x, theta_))) 

は、私は次のような結果を得る

[-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 -0.69314718 
-0.69314718 -0.69314718 -0.69314718 -0.69314718] 

ログ機能を適用すると、配列の形式が異なるのはなぜですか?

+0

違いは何ですか? – karakfa

+0

出力にコンマはありません –

答えて

3

おそらくhypothesis(x, theta_)は、Python リストを返します。リストを印刷するときは、カンマが含まれます。

np.log(hypothesis(x, theta_))は、numpyの配列を返します。 numpy配列を印刷すると、コンマは含まれません。例えば

In [1]: x = [1, 2, 3] # `x` is a python list. 

In [2]: print(x) 
[1, 2, 3] 

In [3]: a = np.array(x) # `a` is a numpy array. 

In [4]: print(a) 
[1 2 3] 

なぜnumpyの印刷出力にカンマが含まれていませんか?それはあなたがnumpyの開発者に尋ねなければならないものです。出力が少しばらつきにくくなりますが、印刷された値を他のコードにコピーアンドペーストしたい場合は、迷惑になることがあります。

あなた印刷する場合は「のrepr」、出力は名前arrayを含み、そしてそれにカンマが含まれています:

In [6]: print(repr(a)) 
array([1, 2, 3]) 
関連する問題