1. 変数
-
変数の参照先アドレスの確認: id(変数)
1.1. 型の変換
-
数値を文字列に変換: str(数値)
-
文字列を整数に変換: int(文字列)
1.2. 型の確認
-
オブジェクトの型の確認: type(オブジェクト)
1.3. 組み込み型
1.3.1. シーケンス型
-
要素数を数える: len(sequence)
str
-
文字列の定義: 文字列をシングルクォート(')またはダブルクォート(")で囲んで定義する(例 '文字列' または "文字列")
-
raw 文字列: r’文字列' でエスケープシーケンスを展開しない。
-
format 文字列: f'文字列{変数}' で、変数 の値に置き換えた文字列を作成する。
-
小数点以下を n 桁で表示する場合には、{変数:.n f}
-
-
文字列を区切り文字で分割してリストとして利用する: 文字列.split()
-
文字列の長さの取得: len(文字列)
コード
-
改行コード: \n
-
行頭復帰コード: \r
list
-
[] を用いて定義: 例 list = [value1, value2, value3, value4]
-
リストに要素の追加: list.append(追加するデータ)
-
i 番目の要素の削除: list.pop(i)
-
リストの要素の数を調べる: len(list)
tuple
-
後から要素の値を変更できないリスト。
-
カンマ区切りで定義。通常は () を用いて使われる。例 tuple = (value1, value2, value3, value4)
1.3.2. range
-
range(N): 0 以上 N 未満の連番の整数のリストを生成する。
1.3.3. マッピング型
dict
-
{} を用いて定義: 例 {key1: value1, key2: value2, key3: value3}
2. 繰り返し処理
2.1. while文
while 条件式: 条件式が真の場合に実行される処理
i = 0 while i < N: 実行文 i += 1
2.2. for文
for 変数 in オブジェクト: 実行される処理
for i < range(N): 実行文
3. 条件式
if 条件式1: 条件式1が真の場合に実行される処理 elif 条件式2: 条件式2が真の場合に実行される処理 ... else: すべての条件式が偽の場合に実行される処理
-
複数の条件の指定
-
論理積: 条件式1 and 条件式2
-
論理和: 条件式1 or 条件式2
-
4. 置換
-
文字列.replace(置き換えられる文字列, 置き換わる文字列)
5. 例外処理
try: 処理 except: 例外処理
6. 乱数
乱数を作成するモジュールとして、Python 標準ライブラリの random モジュールを用いる方法がある。
-
インポート: import random
-
0.0 以上 1.0 未満の乱数を生成する: random.random()。(float型)
7. 関数
def 関数名(引数1, 引数2, ...): 処理
-
戻り値: return 戻り値 で指定する。
-
複数の戻り値を返す場合は、カンマ区切り(タプル)で与える: return 戻り値1, 戻り値2
8. クラス
-
クラスの定義
class Class名: クラスフィールド = クラスフィールドの値 def __init__(self, 引数1, 引数2, ...): 処理
-
メソッドの定義
def メソッド(self, 引数1, 引数2, ...): 処理
-
インスタンスフィールド: self.フィールド名
-
アクセス制御: フィールドやメソッド名の前にアンダースコアを2つつけると外からアクセスができなくなる。
-
インスタンスの生成: Class(引数1, 引数2, …)
9. re モジュール
-
インポート: import re
-
文字列を区切り文字で分割したリストを作成する: re.split('区切り文字', 文字列)
-
'区切り文字' には、正規表現が使用可能。複数の条件で分割したい場合には、'[…]' を使用する。
-
10. os モジュール
os に関連した関数を集めたモジュール
-
インポート: import os
-
パスを結合する: os.path.join(パス1, パス2)
-
os.environ を使用して環境変数を取り扱う。
-
環境変数の一覧を取得する: print(os.environ)
-
特定の環境変数を取得する: os.environ.get("環境変数")
-
-
ファイルの情報を取得する: os.stat(ファイル名)
-
ファイル、ディレクトリの一覧を取得する: os.listdir(パス)
-
ファイルパスからディレクトリを抽出する: os.dirname(ファイルパス)
-
ファイルパスからファイル名を抽出する: os.path.basename(ファイルパス)
-
ファイルが存在するかどうかを調べる: os.isfile(ファイル名)
-
ディレクトリが存在するかどうかを調べる: os.isdir(ディレクトリパス)
-
ディレクトリを作成する: os.mkdir(ディレクトリパス)
11. glob モジュール
-
インポート: import glob
12. shutil モジュール
-
インポート: import shutil
-
ファイルの移動: shutil.move(元のファイル, 移動先)
13. subprocess モジュール
-
インポート: import subprocess
-
コマンドを実行する: subprocess.run(コマンド)
-
コマンドを引数を与えて実行する: subprocess.run([コマンド, 引数])
-
フォルダ開く:subprocess.run(['explorer', パス], shell=True)
-
14. tkinter モジュール
python で GUI を扱うためのライブラリ。python の標準のライブラリ
-
ファイルを選択するダイアログを作成する。
from tkinter import filedialog
type = [('ラベル1', '拡張子1'), ('ラベル2', '拡張子2'), ...] dir = ディレクトリ file = filedialog.askopenfilename(title="タイトル", filetypes=type, initialdir=dir)
-
ディレクトリを選択するダイアログを作成する。
from tkinter import filedialog
dir = ディレクトリ file = filedialog.askdirectory(title="タイトル", initialdir=dir)
15. pywin32 ライブラリ
-
インストール: pip install pywin32
-
インポート: import win32com.client as win32
-
Excel
-
Excel に接続: excel = win32.Dispatch("Excel.Application")
-
Excel ファイルを開く: wb = excel.Workbooks.Open(excelファイル)
-
Excel ファイルを閉じる: wb.Close()
-
-
PowerPoint
-
Powerpoint に接続: powerpoint = win32.Dispatch("PowerPoint.Application")
-
16. pydicom モジュール
DICOM ファイルを扱うモジュール
16.1. 使用法
-
インストール: pip install pydicom
-
インポート: import pydicom
-
DICOM ファイルの読み込み: ds = pydicom.dcmread(読み込むファイル名)。ds は DICOM データセット (pydicom.dataset.FileDataset 型)。
-
DICOM ファイルの書き出し: ds.save_as(書き出す先のファイル名, write_like_original=False)。
-
ds.dir(): キーワードの一覧を出力する。
16.2. CT
-
CT 画像を取得する: ds.pixel_array (numpy.ndarray 型 (要素のデータ型は int16))
-
CT 画像の横のピクセル数 (0028, 0010): ds.Rows (int 型)
-
CT 画像の縦のピクセル数 (0028, 0011): ds.Columns (int 型)
-
CT 画像のピクセル間隔 (0028, 0030): ds.PixelSpacing (pydicom.multival.MultiValue 型)
17. matplotlib モジュール
-
インストール: pip install matplotlib
-
インポート: import matplotlib.pyplot as plt
-
画像の表示: plot.imshow()
18. NumPy ライブラリ
-
インストール: pip install numpy
-
インポート: import numpy as np
-
ndarray の生成
-
リストから生成: np.array([データ1, データ2, …])
-
ファイルにあるデータから ndarray に読み込む: np.loadtxt('ファイル名')
-
等差数列の ndarray を生成する: np.arange(start, stop, step) (初項: start, 公差: step の等差数列 n (start <= n < end ) を要素に持つ ndarray を生成する。)
-
ある配列と同じ shape で 0 を要素に持つ配列を作成する。: np.zeros_like(配列)
-
-
ndarray の情報を調べる。
-
データの全要素数: ndarray.size
-
データの各次元の要素数: ndarray.shapse
-
データの次元数: ndarray.ndim
-
データの要素の型: ndarray.dtype
-
-
列の並べ替え: ndarray[:, [列1, 列2, 列3, …]] (列n は並べ替える前の列のインデックスを、並べ替えたい順に書く)
-
要素の型を変換する: ndarray.astype('型名')。例: ndarray.astype('uint16')
19. Pandas ライブラリ
データ解析用のライブラリ。
-
インストール: pip install pandas
-
インポート: import pandas as pd
-
DataFrame の作成: df = pd.DataFrame(data=データ)
-
data を指定しないで df = pd.DataFrame() とすると、空の DataFrame が作成される。
-
行名、列名を追加する場合には、index = 行名, columns=列名 を引数として追加する。
-
-
csv ファイルの読み込み: df = pd.read_csv(ファイル名, sep=",")。 (df は pandas.core.frame.DataFrame 型)
-
一行目がヘッダとして読み込まれる。列名は columns に割り当てられる。
-
読み込む csv ファイルにヘッダがないときには、read_csv() の引数に header=None を追加して読み込ませる。 列名を設定する場合は、names=['列1', '列2', '列3', …] を引数に追加する。
-
日本語を含むファイルを取り扱う場合は、encoding='文字コード’を引数に入れる。
-
文字コードには使用している文字コードを入れる。例 encoding='shift_jis'。
-
-
最初の n 行を無視して読み込む場合は、skiprows = n を引数に追加する。
-
最後の n 行を無視して読み込む場合は、skipfooter = n と engine = 'python' を引数に追加する。
-
型を指定する: dtype={0: 型1, 1: 型2, 2: 型3, …} を引数に追加する。
-
-
excel ファイルの読み込み: df = pd.read_excel(ファイル名, sheet_name = シート名)
-
engine="odf" を引数に追加することで、LibreOffice Calc 形式のファイルを読むことができる。
-
-
型の確認
-
データフレーム全体の型の確認: print(df.dtypes)
-
特定の列の型の確認: print(df['列名'].dtypes)
-
-
ヘッダ情報を取得する: df.columns (pandas.core.series.Series型)
-
列の型を変更する: df['列名'] = df['列名'].astype(型名)
-
列を削除する: df.drop(columns=['削除したい列のラベル1', '削除したい列のラベル2', …], inplace=True)
-
DataFrame からデータを1行ずつ取り出す:
for index, rows in df.iterrows(): 行ごとの処理 (index には行名、rows には各行のデータ (pandas.core.series.Series 型) が与えられる)
-
新しい列を追加する。
-
以下は、列1と列2を足した列を追加する例:
-
df[_新しい列名_] = df[_列1_] + df[_列2_]
-
累積和の計算: df.cumsum()
-
インデックスをもとにソート: df.sort.index()
-
降順にソートする場合は、引数に ascending=False を追加する。
-
-
csv で保存する: df.to_csv(ファイル名)
-
日本語を含む場合は、encoding='文字コード' (例 encoding='shift_jis') を引数に追加する。
-
ヘッダを出力しない場合は、header=False を引数に追加する。
-
インデックスを出力しない場合は、index=False を引数に追加する。
-
書き込む行を指定する場合は、startrow=行 を引数に追加する。
-
書き込む列を指定する場合は、startcol=列 を引数に追加する。
-
20. openpyxl ライブラリ
-
インストール: pip install openpyxl
-
インポート: import openpyxl
-
book を作成: book = openpyxl.Workbook()
-
sheet を取得: sheet = book['Sheet']
-
sheet の名前を変更する: sheet.title = 'シート名'
-
sheet を追加する: book.create_sheet(title='シート名')
-
book の保存: book.save(ファイル名)
21. Pillow モジュール
画像処理ライブラリ
-
インストール: pip install Pillow
-
インポート: from PIL import Image
-
画像の読み込み: im = Image.open(ファイル名)
-
サイズ: im.size (tuple 型)
-
横幅: im.width
-
縦幅: im.height
-
-
画像を表示する: im.show()
-
画像のサイズを変更する: im_resize = im.resize(サイズ)
-
画像のトリミング: im.crop(トリミングの範囲)。トリミングの範囲は、(左、上、右、下) のように座標で指定する。
-
画像を保存: im.save(ファイル名)
-
quality = n を引数に入れることで品質を指定できる。デフォルトは n = 75。
-
22. OpenCV モジュール
-
インストール: pip install opencv-python
-
インポート: import cv2
23. tabula モジュール
-
インストール: pip install tabula-py
-
インポート: import tabula
-
ファイルの読み込み: dfs = tabula.read_pdf(PDFファイル名)。dfs は、pandas.core.frame.DataFrame 型を要素に持つリスト。
-
ページ数を指定する場合は、pages = 'ページ数' を引数に追加して指定する。
-
枠線で区切られている表のみを抽出する場合は、lattice=True を引数に追加する。
-
24. paramiko モジュール
-
インストール: pip install paramiko
-
インポート: import paramiko
-
ファイルの転送例 (公開鍵暗号に Ed25519 を使用している場合)。
HOST = 'ホスト' USER = 'ユーザ名' KEY_FILE = '秘密鍵' LOCAL_PATH = '転送元のファイル名' REMOTE_PATH = '転送先のファイル名' private_key = paramiko.Ed25519Key.from_private_key_file(KEY_FILE) ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(HOST, username = USER, password = private_key) sftp = ssh.open_sftp() sftp.put(LOCAL_PATH, REMOTE_PATH) sftp.close() ssh.close()
25. pylint モジュール
-
インストール: pip install pylint
-
Graphviz が必要。
-
クラス図を生成する (package名 はフォルダでも良い): pyreverse -o 出力形式 package名
26. SciPy
-
インストール: pip install scipy
27. pip
-
pip が実行できない場合 (パスが通っていない場合) は、代わりに py -m pip を用いる。例: py -m pip install
-
インストールされているパッケージの確認: pip list
-
インストールされているパッケージの詳細の確認: pip show パッケージ名
28. その他
-
インストールされている Python のバージョンを表示する: python --version または python -V
-
インストールされている Python のバージョンを確認する: py -0p
-
複数のバージョンが存在するときには、* が付いている方がデフォルトに設定されている。
-
-
複数のバージョンが存在する場合には py -m バージョン … で特定のバージョンを指定して実行が可能。例: 3.11 にインストールされているモジュールを調べるには、py -3.11 -m pip list
-
Windows にて環境変数の一覧を表示する: set