Pythonにおけるrepeat()の利用方法を現役エンジニアが解説【初心者向け】
初心者向けにPythonにおけるrepeat()の利用方法について現役エンジニアが解説しています。repeat()関数は、要素や配列を引数にとって、それを繰り返した配列を返り値として出力する関数です。Numpyライブラリに組み込まれた関数で、繰り返し回数や繰り返す方向も指定できます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Pythonにおけるrepeat()の利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
Pythonにおけるrepeat()の利用方法について詳しく説明していくね!
repeat()の利用方法を理解できるように頑張ります!
repeat()とは?
repeat()関数は、要素や配列を引数に取り、繰り返す配列を返り値として出力するものです。Pythonにおける行列計算などの数値計算をするときに非常に役に立つNumpyライブラリに組み込まれた関数です。
repeat()の使い方
repeat()を使うには、Numpyライブラリをインストールする必要があります。
まだインストールしていない場合には、コマンドラインで
pip install numpy
を実行し、Numpyをインストールしてください。
repeat()は以下のように記述します。
repeat(要素や配列, 繰り返し回数, (繰り返す方向) )
第一引数には繰り返したい変数や配列を指定します。
第二引数には繰り返す回数、第三引数には配列の場合の繰り返す方向を指定してください。
基本的に返り値は、一次元化された配列であるため、二次元配列を出力したい場合などは第三引数で指定しましょう。
repeat()を利用して繰り返し同じ要素の配列生成する
ここでは、実際にrepeat()関数を使って要素を繰り返した配列を出力してみましょう。
このコードではコマンドラインなどでPythonを対話型で開いて実行することを想定しています。
最初に繰り返しの元となる変数を用意します。
>>> import numpy as np >>> x = 1 >>> y = [1,2,3] >>> z = [[1,2],[3,4]]
x,y,zはそれぞれ、int型の変数、一次元配列、二次元配列です。
そして、これらの要素をrepeat()関数に代入した場合にどのように変化するかを見てみましょう。
>>> np.repeat(x,2 array([1, 1]) >>> np.repeat(y,2) array([1, 1, 2, 2, 3, 3]) >>> np.repeat(z,2) array([1, 1, 2, 2, 3, 3, 4, 4])
それぞれ上のように表示されるでしょう。
一次元配列で出力されていることが確認できます。
二次元配列では、繰り返し方向を指定して行います。
>>> np.repeat(z,2,1) array([[1, 1, 2, 2], [3, 3, 4, 4]])
のように、列方向に繰り返しされ二次元配列のまま出力されるでしょう。
繰り返す変数は数値ではなく、文字列などでも問題ありません。
>>> np.repeat('abc',2) array(['abc', 'abc'], dtype='<U3′)
今回は、PythonのNumpyライブラリのrepeat()関数について解説しました。
Numpyでは他にも便利な関数が揃っているので調べてみましょう。
執筆してくれたメンター
メンターOS
AIプログラミングを使って開発を行う。 プログラミング歴は約3年でPythonは割と得意。好きな物理理論は一般相対性理論で動物も好き。 |
Pythonにおけるrepeat()の使い方がよく分かりました!
これからも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているのでぜひ参加してみてください。