More Related Content
PPTX
PDF
PPTX
PPTX
MagicMinutes - Taking minutes automatically KEY
正月発火村に参加して変なJobQueueサーバー作った話 PDF
PDF
PDF
20141129 jaws-ug joetsumyoko 02_twilio What's hot
PPT
オープンソースカンファレンス名古屋「高蔵寺SE勉強会」 PDF
Clojure で chatbot 作るライブラリ作った PDF
PDF
PPTX
他人が書いたコードのリファレンスをSphinxで作る方法 PDF
Similar to NumPyのすゝめ
PDF
PDF
Introduction to Numpy (and Python) [JPN] PDF
PDF
PDF
Introduction to NumPy & SciPy PDF
Numpy scipy matplotlibの紹介 PDF
ディープラーニングフレームワーク とChainerの実装 PDF
Introduction to Chainer and CuPy PDF
111015 tokyo scipy2_ディスカッション PDF
PDF
PDF
PDF
PDF
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜 PDF
Python for Data Anaysis第2回勉強会4,5章 PDF
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介 PPTX
PPTX
PDF
PDF
More from iPride Co., Ltd.
PDF
PPTX
PPTX
PDF
Marp - MarkdownとCSSでスライド作成 2025/10/31の勉強会で発表されたものです。 PPTX
AWS Card Clash で遊ぼう!2025/10/24の勉強会で発表されたものです。 PDF
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。 PPTX
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。 PPTX
2025/10/10の勉強会 スマートウォッチ1つで実践する私のスマート時間管理術.pptx PPTX
PPTX
自宅のUPSのアース線をどう処理するかに苦労した話. . PDF
自転車安全運転講習.pdf 2025/09/26 の勉強会で発表されたものです。 PPTX
Drupal11新機能紹介.pptx [2025/09/12]の勉強会で発表されたものです。 PPTX
Vibe Codingを触って感じた現実について.pptx . PPTX
Devcontainerのススメ(1)-Devcontainerとはどういう技術?- PPTX
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜 PPTX
PPTX
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. . PPTX
やってみた!OpenAI Function Calling 入門 . PPTX
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。 PDF
Drupal10 Theme Starterkit入門.pdf . NumPyのすゝめ
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
NumPyの基本のキ
import numpy
# これはPythonにおける普通の配列
arr1= [1, 2, 3, 4, 5]
# このメソッドで「NumPy用の配列(numpy.ndarray)」に変換する
np1 = numpy.array(arr1)
# 二次元以上の配列も作れる
arr2 = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 0]]
np2 = numpy.array(arr2)
# 四則演算もできる
print(np1 + 1) # [2 3 4 5 6]
print(np1 * 3) # [ 3 6 9 12 15]
print(np1 * np1) # [ 1 4 9 16 25]
print(np1 * np2) # [[ 1 4 9 16 25] [ 6 14 24 36 0]]
# ベクトル・行列としての計算もできる
np3 = numpy.array([1, 2, 3])
np4 = numpy.array([4, 5, 6])
print(numpy.dot(np3, np4)) # ベクトルの内積。値は32
print(numpy.cross(np3, np4)) # ベクトルの外積。値は[-3 6 -3]
np5 = numpy.array([[2, 4], [1, 3]])
np6 = numpy.array([[1.5, -2], [-.5, 1]])
print(np5 * np6) # 要素ごとの積。値は[[ 3. -8. ] [-0.5 3. ]]
print(numpy.dot(np5, np6)) # 行列積。値は[[1. 0.] [0. 1.]]
※他にも色々便利な
メソッドがあります
- 7.
- 8.
例:検索
❖ 平面上の点の一覧(X1, Y1)〜(Xn,Yn)の中で、点(A, B)に
最も近い点がどれかを調べたい
(X1, Y1)
(X2, Y2)
(X3, Y3)
(X4, Y4)
(Xn, Yn)
(A, B)
これが一番短い=
(X3, Y3)が一番近い点
- 9.
例:検索
❖ ただのPythonで書くとこんな感じ
❖ 検索される点が1000万個あると10.5秒掛かった
min_x,min_y, min_dist = math.nan, math.nan, math.inf # 最小距離な点の位置と距離
for index in range(0, point_len):
diff_x = point_x[index] - target_x
diff_y = point_y[index] - target_y
dist = math.sqrt(diff_x * diff_x + diff_y * diff_y) # 距離計算
if dist < min_dist:
min_x = point_x[index]
min_y = point_y[index]
min_dist = dist
- 10.
例:検索
❖ NumPyで書くとこんな感じ
❖ 検索される点が1000万個あると0.426秒掛かった
❖25倍近く高速に!
diff_x = point_x - target_x
diff_y = point_y - target_y
dist = numpy.sqrt(diff_x * diff_x + diff_y * diff_y)
min_index = dist.argmin()
min_x, min_y, min_dist = point_x[min_index], point_y[min_index], dist[min_index]
- 11.