padの使い方 (Python-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

max,min

mean

meshgrid

mgrid

ndim

ndmin

pad

poly1d

polyfit

prod

random

reshape

savetxt/loadtxt

shape

std

transpose

where

zeros/zeros_like

scipy
expit

imread

interpolate

signal.square, sawtooth

matplotlib
imshow

figure

pcolormesh

plot

quiver

scatter

scikit-learn
GaussianNB

KMeans

KNeighborsClassifier

SVC

tree

chaospy

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 符号化法

線形補間

配列に番号をつける

ベクトル場を描く

線形回帰, 多項式回帰


公開日:2019/1/11         

In English


■pad関数の説明

padは配列の端に数値を加える関数で、パディング(padding)処理といいます。 数値を加える方法としてappendもありますが、こちらの方が便利な場合があります。

■pad関数の具体例

以下はnumpyを使用する際に必須の記載です。

import numpy as np


<1次元配列の場合>

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

b = np.pad(a,[2,3]) # 配列の前に0を2個、後ろに0を3個加える
print(b)

    → array([0, 0, 1, 2, 3, 0, 0, 0])

b = np.pad(a,[2,3] , constant_values=(5,6)) # 配列の前に5を2個、後ろに6を3個加える
print(b)

    → array([5, 5, 1, 2, 3, 6, 6, 6])

b = np.pad(a,[2,3],'edge') #端と同じ数値を加える
print(b)

    → array([1, 1, 1, 2, 3, 3, 3, 3])


<2次元配列の場合>

a = np.array([[1,2,3],[4,5,6]])

b = np.pad(a , (1,2)) #配列の上と前に1つ、下と左に2つ0を加える
print(b)

    → array([[0, 0, 0, 0, 0, 0],
                [0, 1, 2, 3, 0, 0],
                [0, 4, 5, 6, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]])


b = np.pad(a , [(0,1),(2,3)]) #配列の上に0個、下に1つ、前(左)に2つ、後ろ(右)に3つ加える。
print(b)

    →array([[0, 0, 1, 2, 3, 0, 0, 0],
                [0, 0, 4, 5, 6, 0, 0, 0],
                [0, 0, 0, 0, 0, 0, 0, 0]])


<n次元配列の場合①>

a=np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
print(a)

    → array([[[1, 2],
                [3, 4]],

                [[5, 6],
                [7, 8]]])


b = np.pad(a , [(1,1),(2,3),(1,2)]) #配列の前後が(1,1)、配列の中の上下が(2,3)、配列の中の前後が(1,2)
print(b)

    → array([[[0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],

                [[0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 1, 2, 0, 0],
                [0, 3, 4, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0]],

                [[0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 5, 6, 0, 0],
                [0, 7, 8, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0]],

                [[0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0]]])


<n次元配列の場合②>

a=np.array([[[1,2],[3,4]],[[5,6],[7,8]]]
a=a.reshape(2,2,2,1)
print(a)

    → array([[[[1],
                [2]],

                [[3],
                [4]]],


                [[[5],
                [6]],

                [[7],
                [8]]]])


b = np.pad(a , [(1,0),(0,1),(1,1),(2,3)])
print(b)

    → array([[[[0, 0, 0, 0, 0, 0], #3つの配列とも、(1,0)の1の部分,
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]],

                [[0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]],

                [[0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]]],


                [[[0, 0, 0, 0, 0, 0], #上下が(1,1)、前後が(2,3)
                [0, 0, 1, 0, 0, 0],
                [0, 0, 2, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]],

                [[0, 0, 0, 0, 0, 0],
                [0, 0, 3, 0, 0, 0],
                [0, 0, 4, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]],

                [[0, 0, 0, 0, 0, 0], #(0,1)の1の部分
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]]],


                [[[0, 0, 0, 0, 0, 0],
                [0, 0, 5, 0, 0, 0],
                [0, 0, 6, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]],

                [[0, 0, 0, 0, 0, 0],
                [0, 0, 7, 0, 0, 0],
                [0, 0, 8, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]],

                [[0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0],
                [0, 0, 0, 0, 0, 0]]]])









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

関連記事一覧



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

max,min

mean

meshgrid

mgrid

ndim

ndmin

pad

poly1d

polyfit

prod

random

reshape

savetxt/loadtxt

shape

std

transpose

where

zeros/zeros_like

scipy
expit

imread

interpolate

signal.square, sawtooth

matplotlib
imshow

figure

pcolormesh

plot

quiver

scatter

scikit-learn
GaussianNB

KMeans

KNeighborsClassifier

SVC

tree

chaospy

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 符号化法

線形補間

配列に番号をつける

ベクトル場を描く

線形回帰, 多項式回帰