kohei-hasegawa @ ウィキ
関数リスト
最終更新:
kohei-hasegawa
-
view
関数リスト
Python-native
| 目的 | 関数 |
|---|---|
| Python外部からデータを手打ちで入力する | input(strings,[prompt]) |
| データ型を知る | type(object) |
| 最大値を取得する | max(iterable) |
| 最小値を取得する | min(iterable) |
| 要素番号と要素を同時に出力する | enumerate(list) |
| 複数のリストから要素を同時に出力する | zip(*iterables) |
| リストの要素数を取得する | len(list) |
| 整数の順列を確保する | range([start,]stop[,step]) |
| 特定の値と一致するリストの要素の要素番号を取得する | list.index(variable) |
| リストに要素を結合する | list.append(x) or list.extend(x) |
| 整数をランダムに生成する | random.randint(start,end) |
| 乗数を計算する | pow(a,b) |
| 特定の要素を削除する | list.remove(a) |
数学系
import math
| 目的 | 関数 |
|---|---|
| 指数の計算 | math.exp(x) |
| 自然対数の計算 | math.log(x[, base]) |
| 乗数の計算 | math.pow(x, y) |
| 平方根の計算 | math.sqrt(x) |
| 逆双曲線余弦の計算 | math.acosh(x) |
乱数系
import random
| 目的 | 関数 |
|---|---|
| 整数順列を取得 | random. randrange(start, stop[, step]) |
| 整数を取得 | random.randint(a, b) |
| 乱数を取得 | random.random( ) |
| 範囲を指定して乱数を取得 | random.uniform(a,b) |
| 乱数列を初期化する | random.seed(a = None [,integer]) |
組み合わせ系
import itertools
| 目的 | 関数 |
|---|---|
| 配列の累積値を取得 | accumulate(p) |
| 重複ありの組み合わせを取得 | product(p,repeat = r) |
| 重複なしの組み合わせ取得 | permutations(p,q) |
| 重複なしの順列組み合わせを取得 | combinations(p,q) |
| 重複ありの順列組み合わせを取得 | combinations_with_replacement(p,q) |
ディレクトリ系
import os
| 目的 | 関数 | 備考 |
|---|---|---|
| カレントディレクトリを表示 | .getcwd | |
| ディレクトリを表示 | .dirname | |
| ディレクトリを移動する | .chdir | |
| ディレクトリを作る | .mkdir or .makedirs( ) | .makedirs(exists=True)がおすすめ |
| ディレクトリの中を全てリストにする | .listdir | |
| ファイルを削除する | .remove() | listdirとfor文でフォルダ内一括ファイル削除が可能 |
| ディレクトリかどうか | .path.isdir | |
| パスが存在するかどうか | .path.exists() | |
| ホームドライブを取得する | getenv("HOMEDRIVE") | |
| ホームパス(ユーザーフォルダ)を取得する | getenv("HOMEPATH") |
時間管理
import datetime
| 目的 | 関数 |
|---|---|
| 現在時刻のフル情報を取得 | .datetime.now( ) |
| 日付と時刻を取得 | .datetime( ) |
| 日付を取得 | .date( ) |
| 時刻を取得 | .time( ) |
| 時間差を取得 | .timedelta( ) |
| 日時オブジェクトを文字列に変換 | .strftime( ) |
テキスト管理
| 目的 | 関数 |
|---|---|
| テキストファイルを開く | open(path) |
| テキストファイル全体を読み込む | file.read() |
| テキストファイルを閉じる | file.close() |
| 文字列を指定して分割する | split(strings) |
| 改行記号ごとに文字列を分割して取り込む | file.readlines() |
| 読み書きモードを指定してテキストを開く | With open open(path, mode) |
辞書系
| 目的 | 関数 |
|---|---|
| keyのリストを返す | keys(dict) |
| valueのリストを返す | values(dict) |
numpy
配列生成系
| 目的 | 関数 |
|---|---|
| 特定の値で満たされた配列を生成 | np.full(shape, (fill_value)) |
| 指定した配列サイズのメモリを確保する | np.empty(shape) |
| 0で初期化された配列を作成 | np.zeros(shape , dtype = float…) |
| 1で初期化された配列を作成 | np.ones(shape , dtype = float…) |
| 浅いコピーを生成 | np.copy(X…) |
| 深いコピーを生成 | X.view( dtype = None…) |
| 連番の整数を生成 | np.arange([start, ]stop[,step][,dtype = None]) |
| 等差級数を作成 | np.linspace(start, stop, [num = 50,] [endpoint = True,] [retstep = False,] [dtype = None]) |
入出力系
| 目的 | 関数 |
|---|---|
| 配列をcsvとして入力する | np.loadtxt(fname...) |
| 配列をcsvとして出力する | np.savetxt(fname,X,delimiter...) |
数学系
| 目的 | 関数 |
|---|---|
| 対数の計算 | np.log(X…) |
| 乗数の計算 | np.power(X,Y…) |
| 指数の計算 | np.exp(X,…) |
| 内積を計算 | np.dot(X,Y…) |
| 逆数を計算 | np.reciprocal(X…) |
四捨五入系
| 目的 | 関数 |
|---|---|
| 小数点以下を切り捨て,小さい方の整数に | np.floor(X…) |
| 小数点以下を切り捨て | np.trunc(X…) |
| 小数点以下を切り捨て,大きい方の整数に | np.ceil(X…) |
| 四捨五入 | np.round(X…) |
| 0 に近い方向の整数をとります | np.fix(X…) |
| 絶対値を取得 | np.abs(X…) or np.absolute(X…) |
参照系
| 目的 | 関数 |
|---|---|
| 最大値を取得 | np. max(X[,axis = None]…) or X.max() |
| 最小値を取得 | np.min(X[,axis = None]…) or X.min() |
| 最大値の要素番号を取得 | np.argmax(X[,axis = None]…) or X.argmax() |
| 要素番号を一次元から多次元に変換 | np.unravel_index(indices,dim…) |
| 最小値の要素番号を取得 | np.argmin(X[,axis = None]…) or X.argmin() |
| ゼロでない要素の要素番号を取得 | np.nonzero(X) |
整理整頓系
| 目的 | 関数 |
|---|---|
| 縦ベクトルへの変換 | np.c_[X1[,X2]…] |
| 垂直方向への結合 | np.vstack(X1[,X2]…) |
| 水平方向の結合 | np.hstack(X1[,X2]…) |
| 配列を変形する | X.reshape or np.reshape(X,newshape) |
| 配列を一次元に変換する | X.flatten |
| 配列の要素を特定の範囲に収める | np.clip(X, min,max…) |
| 配列の要素を昇順に並び替える | np.sort(X, axis = None…) |
| ソートした場合の要素番号を取得する | np.argsort(X, axis = None…) |
| ヒストグラムの元配列を作成する | np.histogram(X[,nbins,density…]) |
乱数系 import numpy.random
| 目的 | 関数 |
|---|---|
| 0から1の範囲で乱数を生成する | np.random.rand(shape) |
| 整数の乱数を生成する | np.random.randint(low, high=None[, size=None]…) |
| 標準正規分布に沿って乱数を生成する | np.random.randn([size = None]…) |
| 正規分布に沿って乱数を生成する | np.random.normal(loc=0.0, scale=1.0[, size=None] |
| 乱数列を初期化する | np.random.seed(a = None [,integer]) |
| オリジナルの乱数リストから乱数を生成する | numpy.random.choice(a[, size=None][, replace=True][, p=None]) |
| ポアソン分布に従って乱数を生成する | np.random.poisson (lam=1.0, size=None) |
| 特定の範囲で乱数を生成する | numpy.random.uniform([low=0.0][, high=1.0,] size=None) |
| 対数正規分布に従って乱数を生成する | np.random.lognormal(mean=0.0, sigma=1.0, size=None) |
演算系
| 目的 | 関数 |
|---|---|
| 総積を取得 | np.prod(a[, axis=None]…) |
| 累積和を取得する | np.cumsum(a[, axis=None]…) |
| 累積積を取得する | np.cumprod(a[, axis=None]…) |
集合系
| 目的 | 関数 |
|---|---|
| 重複要素を取り除いた集合を生成する | np.unique(X[, axis=None][,return_index=False][, return_counts=False]…) |
| 配列の要素が比較する配列にあるかを確認 | np.in1d(X1,X2[,invert=False]…) |
| 配列同士の共通要素を取得 | np.intersect1d(X1,X2…) |
| 比較対象にある要素を除外した配列を生成 | np.setdiff1d(X1,X2[, assume_unique=False]…) |
| 双方で共通する要素を出力 | np.setxor1d(X1,X2[, assume_unique=False]…) |
| 双方の要素を結合して出力 | np.union1d(X1,X2) |
matplotlib
描画系
| 目的 | 関数 |
|---|---|
| 折れ線の書き出し | plt.plot(x,y) |
| グラフの画面出力 | plt.show( ) |
| 散布図の出力 | plt.scatter(x,y) |
| ズームグラフオブジェクトの生成 | mpl_toolkits.axes_grid1.inset_locator. zoomed_inset_axes(axes, multiplier, loc = None,bbox_to_anchor=None…) |
| ズームグラフの囲み線と引き出し線を作成 | mpl_toolkits.axes_grid1.inset_locator. mark_inset(axes, inset_axes, loc1,loc2…) |
| 棒グラフの書き出し | axes.bar(x,y[,width=0.8]…, **kwargs) |
| ヒストグラムの書き出し | axes.hist(x[,nbins=10][,range][,normed=False][,cumulative=False]…, **kwargs) |
| 横棒グラフの書き出し | matplotlib.axes.Axes.barh(y,width[,height]…) |
| 信頼範囲/面グラフの書き出し | axes. fill_between ( x, y1, y2=0, where=None… **kwargs ) |
| 直線を引く | axes.hlines, axes.vlines |
| 折れ線の確率密度を示す | axes.vlines |
| 凡例を自作する | Lines.Line2D |
オブジェクト系
| 目的 | 関数 |
|---|---|
| Figureオブジェクトの生成 | plt.figure([figsize=None][,dpi=None][,facecolor=None][,edgecolor=None]…) |
| Axesオブジェクトの生成 | fig.add_subplot(N,M,Number…) |
| Axesオブジェクトの生成 | fig.axes(arg=None, **kwargs) |
| 好きなところにグラフを配置する | matplotlib.pyplot.axes(arg = [left, bottom, width,hight ]…) |
| 凡例オブジェクトを作成する | Lines.Line2D & ax.legend |
体裁系
| 目的 | 関数 |
|---|---|
| 軸ラベルの設定 | ax.set_xlabel(“xaxis”), ax.set_ylabel(“yaxis”) |
| 軸目盛りの設定 | axes.axis.set_tick_params( ),ax.tick_params( ) |
| 軸範囲の設定 | ax.set_xlim(bottom=None, top=None, emit=True, auto=False, *, ymin=None, ymax=None), ax.set_ylim( ) |
| グラフの位置を調整する | fig.subplots_adjust( ) |
| テキストを挿入する | ax.set_title(), matplotlib.axes.Axes.text(x, y, s … *kwargs) |
| 目盛りラベルを設定する | Axes.axis.set_ticklabels( ) |
| 軸目盛りを挿入する | matplotlib.axes.set_○ticks(list[,minor=False]) |
| 軸オブジェクトを生成する | matplotlib.ticker.FixedLocator (locs, nbins=None) |
| 軸線の表示を操作する | axes.spines["place"] |
| 直線を引く | axes.hlines, axes.vlines |
特殊文字
| 目的 | 関数 |
|---|---|
| 斜体 | $\it{word}$ |
| 上付き | $^{word}$ |
その他
| 目的 | 関数 |
|---|---|
| 配列を見やすく表示する | pprint.pprint |