LoginSignup
0
0

python cheatsheet

Last updated at Posted at 2022-07-26

1. 標準ライブラリ

Python 標準ライブラリ

1.1. 値

データ型 説明
int 120 整数
float 3.1415 浮動小数点数
str "test" 文字列
bool True,False 真偽値

1.2. データタイプ

データ操作 説明
list ["test1","test2"] 要素を変更・追加・削除ができる
tuple ("test1","test2") 要素を変更・追加・削除することはできない
dict {"one":1,"two":2} キーとなる値(key)とバリューとなる値(value)をセットで1つの要素として持つことができる
function lambda x:2*x 名前を持たない無名関数を作成

1.3. 四則演算

演算子 説明
+ a + b 足し算
- a - b 引き算
* a * b 掛け算
/ a / b 割り算
// a // b 整数割り算
% a % b 割り算あまり
** a ** b べき乗

1.4. 比較演算子

演算子 説明
== a == b aとbが等しいとき True
!= a != b aとbが等しくないとき True
> a > b aがbより大きいとき True
>= a >= b aがb以上のとき True
< a < b aがbより小さいとき True
<= a <= b aがb以下のとき True

1.5. 論理演算子

演算子 説明
and a and b aかつbの両方がTrueのとき True
or a or b aまたはbのどちらかがTrueのとき True
not a not b aがFalseのとき True

1.6. 複合代入演算子

演算子 説明
+= a += b a = a + bと同じ
-= a -= b a = a - bと同じ
*= a *= b a = a * bと同じ
/= a /= b a = a / bと同じ
//= a //= b a = a // bと同じ
%= a %= b a = a % bと同じ
** a ** b a = a ** bと同じ

1.6. 条件分岐、繰り返し、例外処理

Pythonのfor文によるループ処理(range, enumerate, zipなど)
Pythonの例外処理(try, except, else, finally)
Pythonで多重ループ(ネストしたforループ)からbreak

if.py
# 条件分岐(if,elif,else)
if 条件式1:
    `条件式1がTrueのときに行う処理`
elif 条件式2:
    `条件式1がFalseで条件式2がTrueのときに行う処理`
elif 条件式3:
    `条件式1, 2がFalseで条件式3がTrueのときに行う処理`
...
else:
    `すべての条件式がFalseのときに行う処理`

# 繰り返し(for,while)
mylist = ["Orange", "Peach", "Lemon", "Apple"]
for val in mylist:
    print("value:" + val)

while 条件1:
    ...
# 繰り返し + 条件分岐(break,continue)

# 条件によってfor文を途中で終了(break)
l = ['Alice', 'Bob', 'Charlie']
for name in l:
    if name == 'Bob':
        print('!!BREAK!!')
        break
    print(name)
# Alice
# !!BREAK!!
# 特定の要素の処理をスキップ(continue)
l = ['Alice', 'Bob', 'Charlie']

for name in l:
    if name == 'Bob':
        print('!!SKIP!!')
        continue
    print(name)
# Alice
# !!SKIP!!
# Charlie

#0から5まで1stepずづ
for i in range(6):
    print(i)
print('\n')

#1から5まで1stepずづ
for i in range(1,6):
    print(i)
print('\n')

#1から5まで2 stepずづ
for i in range(1,6,2):
    print(i)
print('\n')

# 例外処理
try:
    print(1 / 0)
except ZeroDivisionError:
    print('Error')
# Error

1.7 list

list.py

# listに要素を追加する
list=[]
list.append("XX")

# すべての要素を削除 
list.clear()

# インデックス・スライスで位置・範囲を指定して削除する

#リストの作成
l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

#リストのサイズ(要素数)を取得
print(len(l))
# 10

#リストを逆順にする
l.reverse()
print(l)
# [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

print(origin)
# [3, 5, 2, 4, 1]

del l[0] # 最初を削除
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[-1]
print(l) # 末尾を削除
# [1, 2, 3, 4, 5, 6, 7, 8]

l = [3, 1, 4, 5, 2]

# 昇順に並べる
l.sort()
print(l)
# [1, 2, 3, 4, 5]

# 降順に並べる
l.sort(reverse=True)
print(l)
# [5, 4, 3, 2, 1]

1.8 文字列操作

replace.py
# 置換
my_str = "あいうえお"
my_str = my_str.replace("うえ", "した")
print(my_str)

1.9 デバック

type()を使用すると、オブジェクトの型を判定できる

type.py
print(type('string'))
# <class 'str'>

print(type(100))
# <class 'int'>

print(type([0, 1, 2]))
# <class 'list'>

デバック時に使用するコマンド、sysのライブラリをimportする。

debug.py
import sys

#実行しているファイルが置いてあるpath
print(sys._getframe().f_code.co_filename)
#関数名
print(sys._getframe().f_code.co_name)
#実行している関数の先頭行
print(sys._getframe().f_code.co_firstlineno) 
#コンパイルされたバイトコードそのままの文字列
print(sys._getframe().f_code.co_code)
#置いた場所の行数
print(sys._getframe().f_lineno)

2. pandasライブラリ

2.1 コマンド

pandas.py
# import 
import pandas as pd

#import column側のヘッダーに名前を付ける。
df = pd.read_csv('xx.csv', names=['T','P','H','date','T1','P1','H1'])

#import データをinsertする。
df.insert(0, 'item', 'base')
df.insert(1, 'item1', 'comp')

#import 3行までのデータを出力、ファイルの確認
print(df[:3])
#指定したnameの出力
print(df['T'][0:3])

#指定したカラムの情報を取り出す。
df.to_csv('output/stack.csv', columns=['item','T'])
# データを追記する。
df.to_csv('output/stack.csv', mode='a', header=False, columns=['item1','T1'])
#print(df['T1'])

# int型のdfをstrに変換
df.['T1'].astype(str)

#データフレームのデータ型やメモリ使用量など
df.info()

# 行数を取得
len(df)

# 列数を取得
len(df.columns)

# 行数、列数を取得
df.shape
# 行数を取得
df.shape[0]
# 列数を取得
df.shape[1]



# indexをlist表示
print(df.index.to_numpy())
# columnをlist表示
print(df.columns.to_numpy())  

# シリーズからリストへの変換 tolist()
s = pd.Series([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
s_to_list = s.tolist()

# 任意の要素を取得し、listに追加
list =[]
for i in range(len(df)):
    get_list = df.iloc[i]['xx']
    list.append(get_list .tolist())

# グループごとの統計情報を使ってすべての行を集計する
def transformation_sample(s):
    return (s / s.sum() * 100).astype(str) + '%'

df.groupby(['city']).transform(transformation_sample)

2.1.2 dfの結合tiと分割

test.py
# keyを指定して結合
merged_df = df1.merge(df2, on='key')
# 複数のkeyでの結合
merged_df = df1.merge(df2, on=['key1', 'key2'])
# 条件を指定して分割
df1 = df[df['column1'] = 10]

2.1.1 リンク

Pandas の groupby の使い方
Pandas の transform と apply の基本的な違い

3. matplotlibライブラリ

3.1 コマンド

matplotlib.py
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import pandas as pd

# 表の作榮
data = {
    'Name': ["test", "test1"],
    'Name': ["test", "test1"],    
}

df = pd.DataFrame(data)

fig, ax = plt.subplots(figsize=(3, 3))

# 横軸の非表示
ax.axis('off')
ax.axis('tight')

tb = ax.table(cellText=df.values,
              colLabels=df.columns,
              bbox=[0, 0, 1, 1],
              )

# テーブルの背景削除
tb[0, 1].set_facecolor('#ff0000')
tb[0, 2].set_facecolor('#ffff00')

# イメージの表示
plt.show()

3.2. 日本語対応

  1. パッケージのインストール
pip install japanize_matplotlib
  1. プログラムに"import japanize_matplotlib" を追加すると、日本語対応する。

3.1.1 リンク

matplotlibのめっちゃまとめ
文字列の表に色付するにはどうすれば良い?

4. tkinter

4.x. ウィジェット変数

変数の種類 説明
StringVar 文字列を扱う
IntVar 整数を扱う
DoubleVar 浮動小数点数を扱う
BooleanVar 真偽値(True / False)を扱う
# ウィジェット変数を作成
str_var = tkinter.StringVar()

# ラベルウインドウにウィジェット変数を入れる
label = tkinter.Label(frame,textvariable=str_vstr_var)
label.pack()

# 5. osライブラリ

## 5.1 コマンド

```os.py
import os
# 特定のディレクトリのファイルの一覧を取得する
input_path  =  r"input"
files = os.listdir(input_path)
file_list = [f for f in files if os.path.isfile(os.path.join(input_path, f))]

# ファイル名、拡張子情報を取得する。
# os.path.splitext(img_file)[0] => 拡張子前の情報
# os.path.splitext(img_file)[1] => 拡張子
for imgfile in file_list:
    if ".jpeg" == os.path.splitext(img_file)[1]:
        print(os.path.splitext(imgfile)[0])

6. Imageライブラリ

6.1 コマンド

Image.py
from PIL import Image
# jpgからpngへのコンバート
img = Image.open(img_file).convert("RGB")

6.2 リンク

Will update the link someday.

x.その他

pip

x.sh
# パッケージのインストール
pip install <package-name>
# パッケージのバージョン指定インストール
pip install <package-name>==<version>
# パッケージリストの全表示
pip list 
# 依存性チェック
pip check
# パッケージのアップデート
pip install -U <package-name>
# パッケージのバージョン確認
pip show <package-name>

x.1.1 リンク

Pandas の groupby の使い方
pandas.DataFrameに列や行を追加
cheet sheet

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0