戻る
■Python
■入門 以下が詳細で解りやすい Python入門 - @IT https://www.atmarkit.co.jp/ait/series/12963/ Pythonプログラミング入門 - Pythonプログラミング入門 documentation https://utokyo-ipp.github.io/ ■環境構築 主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO https://dev.classmethod.jp/articles/python-vscode-plugin/ ■応用 Pythonのアンダースコア( _ )を使いこなそう! - LSC PSD - Medium https://medium.com/lsc-psd/pythonic%E8%89%B2%E3%80%85-python%E3%81%AE%E3%82%A2%E3%83%B3%E3%83%80%E3%... AIエンジニアが気をつけたいPython実装のノウハウ・コツまとめ - Qiita https://qiita.com/sugulu/items/c0e8a5e6b177bfe05e99 【Python】いい書き方と悪い書き方を知って中級者を目指す - Qiita https://qiita.com/_masa_u/items/b21c493a82e8aba8993f Pythonのオブジェクト指向プログラミングを完全理解 - Qiita https://qiita.com/kaitolucifer/items/926ed9bc08426ad8e835 【2020年新人研修資料】ナウでヤングなPython開発入門 - Speaker Deck https://speakerdeck.com/stakaya/2020nian-xin-ren-yan-xiu-zi-liao-nauteyankunapythonkai-fa-ru-men 朝飯前に学べる!便利なPythonのヒント100選【前編】 - Qiita https://qiita.com/baby-degu/items/05cf809d4d992923020d 朝飯前に学べる!便利なPythonのヒント100選【後編】 - Qiita https://qiita.com/baby-degu/items/532bea7be058c35f61a8 全てがTypeScriptで動く「クラウド郵便 atena」を支える技術スタック https://zenn.dev/n1nc/articles/atena-system-architecture データ分析の基礎 - Qiita https://qiita.com/wooooo/items/24d1a4d6be5ab7bf023f Pythonのパッケージ管理の中級者の壁を超える stapy#98 - Speaker Deck https://speakerdeck.com/vaaaaanquish/pythonnopatukeziguan-li-nozhong-ji-zhe-nobi-wochao-eru-stapy-nu... 並列処理がとても苦手なPythonはプロセスを分けよう コードを書く時に意識したい2つのTipsと2つの落とし穴 - ログミーTech https://logmi.jp/tech/articles/329470 【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 #Python - Qiita https://qiita.com/kemuniku/items/1f1537e1df2ac8180d9b ■数値を文字列と結合して表示
a = 10 print('a = ' + str(a))
■科学的表記法を使って数値を表現 Pythonコード内に「1e-3」のような表記が現れることがある これは科学的表記法を使って数値を表現したもの 「1e-3」は「1 * 10^-3」と同じで、その結果は 0.001 となる
1e0 = 1 1e1 = 10 1e-1 = 0.1 1e-2 = 0.01 1e-3 = 0.001
この表記法は、非常に大きな数値や非常に小さな数値を簡潔に表現するために使用される ■配列の計算 以下は計算できず、「TypeError: can only concatenate list (not "int") to list」のエラーになる
def double(x): return x + 1 numbers = [1, 2, 3] print(double(numbers))
以下のようにmapを使うと、それぞれの計算結果「[2 3 4]」を得られる
def double(x): return x + 1 numbers = [1, 2, 3] print(list(map(double, numbers)))
以下のようにnumpyを使っても、それぞれの計算結果「[2 3 4]」を得られる
import numpy as np def double(x): return x + 1 numbers = np.array([1, 2, 3]) print(double(numbers))
また以下のようにすると、計算結果「[5 7 9]」を得られる
import numpy as np def add(a, b): return a + b a_numbers = np.array([1, 2, 3]) b_numbers = np.array([4, 5, 6]) print(add(a_numbers, b_numbers))
Pythonのmap()でリストの要素に関数・処理を適用 | note.nkmk.me https://note.nkmk.me/python-map-usage/ PythonのNumPy配列の数値演算のやり方まとめ | HEADBOOST https://www.headboost.jp/python-numpy-array-calculations/ ■配列の内容をすべて表示
map_result = map(str, targets) result = ', '.join(map_result) print('[' + result + ']')
■配列の要素数を表示
print(len(targets))
■行列の計算 np.dot によって行列の計算ができるが、与える配列の次元によって挙動が変わる 以下のとおりAとBが1次元配列の場合、以下のように計算される これは内積を求めている
import numpy as np A = np.array([1, 2, 3]) B = np.array([2, 4, 6]) result = np.dot(A, B) # 1*2 + 2*4 + 3*6 = 28 print(result) # 28
AとBが2次元配列の場合、以下のように計算される これは行列積を求めている
import numpy as np A = np.array([[1,1], [2,2], [3,3]]) B = np.array([[1, 2], [3, 4]]) result = np.dot(A, B) # A * B = C # |1 1| * |1 2| = |(1*1 + 1*3) (1*2 + 1*4)| = |4 6| # |2 2| |3 4| |(2*1 + 2*3) (2*2 + 2*4)| |8 12| # |3 3| |(3*1 + 3*3) (3*2 + 3*4)| |12 18| print(result) # [[ 4 6] # [ 8 12] # [12 18]]
AとBのどちらかがスカラの場合、以下のように計算される これは積を求めている
import numpy as np A = np.array([[1,1], [2,2], [3,3]]) B = 5 result = np.dot(A, B) # A * B = C # |1 1| * 5 = |(1*5) (1*5)| = | 5 5| # |2 2| |(2*5) (2*5)| |10 10| # |3 3| |(3*5) (3*5)| |15 15| print(result) # [[ 5 5] # [10 10] # [15 15]]
Aが2次元配列でBが1次元配列の場合、以下のように計算される
import numpy as np A = np.array([[1,1], [2,2], [3,3]]) B = np.array([7, 8]) result = np.dot(A, B) # A * B = result # |1 1| * |7 8| = |1*7 + 1*8| |15| # |2 2| |2*7 + 2*8| = |30| # |3 3| |3*7 + 3*8| |45| print(result) # [15 30 45]
numpy.dot の挙動 #Python - Qiita https://qiita.com/ao_log/items/64768b67153e8fb6820b ■map 【Pythonステップアップ!】高階関数mapの便利な使い方 | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト https://www.sejuku.net/blog/24759 ■lambda Pythonのlambdaって分かりやすい - Qiita https://qiita.com/nagataaaas/items/531b1fc5ce42a791c7df ■画像 PythonでPowerPointの各ページを画像ファイルにする - Qiita https://qiita.com/natsutan/items/2487e24fe3f31569b40d ■クロスプラットフォームアプリ Pythonだけでクロスプラットフォームなアプリを作れるFletについて - Qiita https://qiita.com/NasuPanda/items/48849d7f925784d6b6a0 ■ゲーム 「ゲーム制作するなら、これだけは覚えておいたほうがいい」 プログラミングする上で重要な「対数」の考え方 - ログミーTech https://logmi.jp/tech/articles/326705 Pythonなら3Dゲームも作れる!まずは空間にモノを置いてみよう | 日経クロステック(xTECH) https://xtech.nikkei.com/atcl/nxt/column/18/02075/052400001/ ■数学 数学×Pythonプログラミング入門 - @IT https://atmarkit.itmedia.co.jp/ait/series/24243/ 統計・機械学習の理論を学ぶ手順 - Qiita https://qiita.com/kueda_cs/items/28008db6491c71ac5659 数学を楽しみながら独学できる本、究極の5冊 | 独学大全 | ダイヤモンド・オンライン https://diamond.jp/articles/-/301387 ■機械学習 Pythonでニューラルネットワークを書いてみよう:ニューラルネットワーク入門 - @IT https://atmarkit.itmedia.co.jp/ait/articles/2202/09/news027.html みんな、とにかくオセロAIを作るんだ - Qiita https://qiita.com/Nyanyan_Cube/items/1839732d7bdf74caff21 機械学習が独学できる日本語Youtube難易度別まとめ - Qiita https://qiita.com/fujimr_19xx/items/f85d08a260ef7e0df655 モナリザがトランプ大統領のように動き出すFirst Order Motion Modelを試してみる - Qiita https://qiita.com/jun40vn/items/722bd4675246eb7eac46 第1回 初めてのニューラルネットワーク実装、まずは準備をしよう ― 仕組み理解×初実装(前編):TensorFlow 2+Keras(tf.keras)入門 - @IT https://atmarkit.itmedia.co.jp/ait/articles/1909/19/news026.html Pythonで作る人工生命 | 日経クロステック(xTECH) https://xtech.nikkei.com/atcl/nxt/column/18/01996/ 【5分で解説】AI進化のきっかけになったTransformerとは!?Attention層とは?|スタビジ https://toukei-lab.com/transformer