けつあご日記

tinojiはやみのふぃくさーにしかなりたくない.ひゃっぽゆずっててんほういは,あり.

Python: 任意の値で埋めたm×n行列を生成

環境: Python 3.5.1, numpy 1.11.1

友人と話したメモ。

# coding: utf-8
import numpy as np

shape = (5, 3)
val = 10
A = np.array([val] * (shape[0] * shape[1])).reshape(shape[0], shape[1])
print(A)

B = np.empty([5, 3]).fill(10)
print(B)

C = np.full((5, 3), 10)
print(C)
# output
/Users/hkikuchi/.pyenv/versions/anaconda3-4.0.0/lib/python3.5/site-packages/numpy/core/numeric.py:301: FutureWarning: in the future, full((5, 3), 10) will return an array of dtype('int64')
  format(shape, fill_value, array(fill_value).dtype), FutureWarning)

[[10 10 10]
 [10 10 10]
 [10 10 10]
 [10 10 10]
 [10 10 10]]

None

[[ 10.  10.  10.]
 [ 10.  10.  10.]
 [ 10.  10.  10.]
 [ 10.  10.  10.]
 [ 10.  10.  10.]]

Cの方法がベストかと思ったらFutureWarningらしい。まぁとりまCでよさそう。Bは動かないんだなぁ。