Python その他の関数など

スポンサーリンク
スポンサーリンク

連番など

range(開始, 終了, ステップ)を使います。rangeは標準の関数です。
以下の例はlistを使ってリスト型に変換しています。

0からのレンジ

print(list(range(10)))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

範囲指定のレンジ

print(list(range(0, 10)))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

増分を指定したレンジ

ステップに任意の値を指定します。

print(list(range(0, 10, 2)))
# [0, 2, 4, 6, 8]

逆順のレンジ

ステップにマイナス値を指定します。

print(list(range(10, 0, -1)))
# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

マイナスのレンジ

開始、終了、ステップなどにマイナス値を指定します。

print(list(range(0, -10, -1)))
# [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

小数点のレンジ

rangeでは対応できないため、rangeで生成したレンジをfor文で回し、出力された結果を割ります。

print([i / 10 for i in range(0, 10, 1)])
# [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]

print([i / 100 for i in range(0, 10, 1)])
# [0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09]

print([i / 100 for i in range(10, 20, 1)])
# [0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19]

ランダム

はじめに

randomは標準ライブラリですので、インストールは不要ですが、インポートは必要です。

import random

小数値のランダム

print(random.random())
# 0.37011529799237597

範囲指定の小数値のランダム

random.uniform(1, 10)
# 4.628390796273554

範囲指定の整数値のランダム

print(random.randint(0, 10))
# 4

レンジ指定のランダム

range(10)と同じように指定ができます。

print(random.randrange(10))
# 4

print(random.randrange(0, 20, 2))
# 16

プログレスバー

tqdmというライブラリを使用します。標準ではないのでインストールが必要です。
pip install tqdm

基本的な使い方

from tqdm import tqdm
for i in tqdm(range(10000)):
    i = 1 + 1

Jupyter Notebookの場合、以下のように出力されます。

100%|██████████| 10000/10000 [00:00<00:00, 1050098.64it/s]

応用

データフレームを使ったFor文です。
また、ncols=100でプログレスバーの幅を指定しています。

for index, row in tqdm(df.iterrows(), ncols=100):

ファイルやフォルダの有無

ファイルやフォルダの存在の有無を返します。あればTrue、無ければFalseです。

# ファイル
os.path.isfile(path)

# フォルダ(ディレクトリ
os.path.isdir(path)

音を鳴らす

ディープラーニングとかで処理が長いといつ終わったか分からなくなるので、音で知らせるようにできます。
以下はMacでの例です。
os.system('afplay /System/Library/Sounds/Ping.aiff')
os.system('afplay /System/Library/Sounds/Hero.aiff')
os.system('afplay /System/Library/Sounds/Basso.aiff')
os.system('afplay /System/Library/Sounds/Morse.aiff')
もちろん他の音も鳴らせるので、自分の好みにアレンジするといいと思います。
タイトルとURLをコピーしました