arrayの使い方 (numpy)



Python
Pythonとは
基本的な使い方
IDLE
Jupyter Notebook
Markdown
コマンドプロンプトで実行
仮想環境の構築
仮想環境でIDLEを実行
ライブラリのインストール
pipの使い方
numpy , matplotlib等
graphviz
pytorch
Mecab
Pythonの関数:一覧
共通関数
append , extend
class
copy
csv.reader
csv.writer
def , return
dict , defaultdict
enumerate
exit
for
if
import
in
input
lambda
len
list
min/max
OrderedDict
open/close
os
pickle
print
range
re.split
read/readline
round/floor/ceil
split
sys.argv
time
while
write
zip
・特殊メソッド
 ・__name__
 ・__iter__ , __next__
正規表現、メタ文字
データの型の種類
四則演算 (+ , - , * , /)
コメントアウト (# , ''')
numpy
append
arange
argmax/argmin
array
asfarray
astype , dtype
digitize
dot
hstack/vstack
linalg.solve
linspace
mean
meshgrid
mgrid
ndim
ndmin
pad
poly1d
polyfit
prod
random
reshape
savetxt/loadtxt
shape
std
transpose
where
zeros/zeros_like
scipy
expit
imread
interpolate
matplotlib
imshow
figure
pcolormesh
plot
scatter
scikit-learn
GaussianNB
KMeans
KNeighborsClassifier
SVC
tree
keras
chainer
chainerrl
pytorch
BCELoss , MSELoss
Embedding
device
Sequential
Dataset, Dataloader
RNN, LSTM
OpenAI gym
Blackjack-v0
CartPole-v0
tkinter
frame, grid
画像表示
画像を切り取り表示
画像を保存
目的別
ステップ関数
1 of K 符号化法
線形補間
配列に番号をつける

公開日:2018/7/8 , 最終更新日:2019/1/22         

■説明
任意の形状の配列を作成します。

■具体例
以下は下記具体例で共通で定義が必要です。

>> import numpy as np


例① 配列を作成

>> a=np.array([[1,2,3],[4,5,6],[7,8,9]]) # カッコの数に注意
>> a

 array([[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]]))

>>print(a) # printで出力するとカンマが外れて見える

  [[1 2 3]
  [4 5 6]
  [7 8 9]]


arrayの中にarrayを定義することもできます。

>> a=np.array([1,2])
>> b=np.array([a,3,4])
>> b

  array([array([1, 2]), 3, 4], dtype=object)


例② 配列の要素を指定

>> a=np.array([[1,2,3],[4,5,6],[7,8,9]])
>> a[0] # 0番目の配列を抜き取って表示

  array([1, 2, 3])

>> a[0][1] # 0番目の配列の中の、1番目の要素を抜き取って表示

  2

>> a[1:3 ,0:2] # 1~2行目、0~1列目を抜き取って表示

  array([[ 4, 5],
     [7, 8]])

>> a[: ,0:2] # 全ての行、0~1列目を抜き取って表示

  array([[1, 2],
     [4, 5],
     [7, 8]])


>> a=np.array([1,2,3,4,5,6,7,8,9,10,11,12])
>> a[0:8:3] # 0から7番目までの数字まで3つおきに抽出

  array([1, 4, 7])

>> a[2:-1] # 3から(12-1)番目までの数字を抽出

  array([ 3, 4, 5, 6, 7, 8, 9, 10, 11])

>> a[a>=5] # 5以上の数値を抽出

  array([ 5, 6, 7, 8, 9, 10, 11, 12])

>> a[a%5==0] # 5で割った余りが0の数値を抽出

  array([ 5, 10])


例③ 配列の要素を指定し他の数値に置き換える

>> a=np.array([[1,2,3],[4,5,6],[7,8,9]])
>> b=np.array([10,11,12])
>> a[1,:]=b   # 1行目の全ての列をbに置き換える
>> a

  array([[ 1, 2, 3],
     [10, 11, 12],
     [ 7, 8, 9]])

>> a[:,1]=b   # 1列目の全ての列をbに置き換える
>> a

  array([[ 1, 10, 3],
     [10, 11, 12],
     [ 7, 12, 9]])

>> a[:]=b   # 全ての行をbに置き換える
>> a

  array([[ 10, 11, 12],
     [10, 11, 12],
     [ 10, 11, 12]])


例④ 配列の数値計算

>> a=np.array([[1,2,3],[4,5,6],[7,8,9]])
>> a+1      # 配列の全ての数値に1を加える

 array([[2, 3, 4],
    [5, 6, 7],
    [8, 9, 10]]))

>> a[:,0:2]=a[:,0:2]+1 # a[:,0:2]に1を加える
>> a

 array([[2, 3, 3],
    [5, 6, 6],
    [8, 9, 9]])


例④-1 配列の数値計算

>> a=np.array([2,3,4])
>> b=np.array([5,6,7])
>> a*b        # アダマール積を求める。行列の積を求めたい場合はdot

 array([10, 18, 28])

>> a+b

 array([7, 9, 11])


例⑤ 応用
if文とfor文を駆使して、計算結果を一度にarrayに格納することができます。

>> x = np.random.randn(5, 2)
>> np.array([1 if (x1 + x2) > 0 else -1 for x1, x2 in x])

  array([ 1, -1, 1, -1, 1])










サブチャンネルあります。⇒ 何かのお役に立てればと

関連記事一覧



Python
Pythonとは
基本的な使い方
IDLE
Jupyter Notebook
Markdown
コマンドプロンプトで実行
仮想環境の構築
仮想環境でIDLEを実行
ライブラリのインストール
pipの使い方
numpy , matplotlib等
graphviz
pytorch
Mecab
Pythonの関数:一覧
共通関数
append , extend
class
copy
csv.reader
csv.writer
def , return
dict , defaultdict
enumerate
exit
for
if
import
in
input
lambda
len
list
min/max
OrderedDict
open/close
os
pickle
print
range
re.split
read/readline
round/floor/ceil
split
sys.argv
time
while
write
zip
・特殊メソッド
 ・__name__
 ・__iter__ , __next__
正規表現、メタ文字
データの型の種類
四則演算 (+ , - , * , /)
コメントアウト (# , ''')
numpy
append
arange
argmax/argmin
array
asfarray
astype , dtype
digitize
dot
hstack/vstack
linalg.solve
linspace
mean
meshgrid
mgrid
ndim
ndmin
pad
poly1d
polyfit
prod
random
reshape
savetxt/loadtxt
shape
std
transpose
where
zeros/zeros_like
scipy
expit
imread
interpolate
matplotlib
imshow
figure
pcolormesh
plot
scatter
scikit-learn
GaussianNB
KMeans
KNeighborsClassifier
SVC
tree
keras
chainer
chainerrl
pytorch
BCELoss , MSELoss
Embedding
device
Sequential
Dataset, Dataloader
RNN, LSTM
OpenAI gym
Blackjack-v0
CartPole-v0
tkinter
frame, grid
画像表示
画像を切り取り表示
画像を保存
目的別
ステップ関数
1 of K 符号化法
線形補間
配列に番号をつける