Python Flashcards

1
Q

配列の全要素にアクセスして、関数を適応させる

A

list(map(関数(lambda式), iterable)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

オブジェクトのメンバー引数を取得する関数

A

getattr(object, name, default)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

オブジェクトの属性一覧を取得する

A

dir(オブジェクト)
dir(self)もok

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

pandasの列名をリストで入れる方法

A

DataFrame.columns = [’..’, ‘…’]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

正規表現でコンパイル
一致するものを取得する方法

A

pattern = re.compile()
match_obj = pattern.match()
→先頭からマッチ
match_obj = pattern.search()
→文全体で初めてのマッチ
match_obj.group()
→0のときは全体、1~で各グループ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Pandasのdfから、変数を使用して条件で抽出する方法

A

val = 25
print(df.query(‘age < @val’))
# name age state point
# 0 Alice 24 NY 64
# 2 Charlie 18 CA 70
# 4 Ellen 24 CA 88

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

PandasのDataframeから複数行を抽出する

A

Dataframe[‘…’, ‘…‘…]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

PandasのDataframeから値を抽出

A

Dataframe.values
→ndarray

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

2次元ndarrayからリストを作成

A

ndarray.tolist()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

pandasの列から抽出する方法

A

Dataframe[‘…’]
→Series

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Seriesからユニークな値を取得する

A

Series.unique()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

cmapの作り方

A

plt.get_cmap(‘jet’)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

cv2.imread()で読み込んだときの、要素の位置関係

A

0:height
1:width
2:BRG

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

cv2.resize()の要素の入れ方

A

cv2.imread(image, (width, height)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

コンテキストウィンドウでファイルに1追記する方法。

A

with open(path, ‘a’) as f:
f.write()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

マルチプロセスでの実装

A

with ProcessPoolExecutor() as e:
futures = [e.submit(fn, arg1, arg2, …) for i in [(arg1, arg2, …), (…]
for future in as_completed(futures):
print(future.result())

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

sqlalchemyでid, email, password, daily_usage, last_reset_dateの列を参照して、query、daily_usageを取得する。その後1足して更新。

A

class User(Base):
__tablename__ = “users”
id = Column(Integer, primary_key=True, index=True)
email = Column(String(100), unique=True, index=True, nullable=False)
password = Column(String(100), nullable=False)
daily_usage = Column(Integer, default=0)
last_reset_date = Column(DateTime, nullable=True)

user = db.query(database.User).filter(database.User.email == email).first()

user.daily_usage += 1
db.commit()
18
Q

yamlファイルの読み込み方法

A

with open(‘test.yaml’, ‘rb’) as f:
yml = yaml.safe_load(f)

19
Q

tensorからuniqueな値を取得

20
Q

パラメータの重みの取得

A

self.parametare_name.weight→tensor

21
Q

Pathオブジェクトの、相対パスを取得する方法

A

PathObject.relative_to(PathObject)

22
Q

Pathオブジェクトを/で区切られる各要素に分ける方法は?

A

PathObject.parts

23
Q

csvを列名ありで読み込む方法は?

A

pd.read_csv(path, index_col=0)

24
Q

datetimeを文字列から作る方法

A

datetime.strptime(20230623, ‘%Y%m%d”)

25
datetimeに1日足す法。
datetime obj + datetime.time(days=1)
26
datetimeを文字列として出力する方法
datetime.strftime('%Y%m%d')
27
re.compileで大文字、小文字関係なくする方法は?
re.compile([b-e]\d+, re.IGNORECASE)
28
Pathオブジェクトのファイル名を取得する方法
Pathオブジェクトを作成 file_path = Path('/path/to/your/file.txt') ファイル名を取得 file_name = file_path.name
29
データフレームを1行ごと繰り返し
for i, data in Dataframe.iterrows: →int, Series
30
マルチスレッドのimport
from concurrent.futures import ProcessPoolExecutor
31
コンテナオブジェクトとは
別のオブジェクトを要素として持つオブジェクト listやdictなど
32
グローバルスコープのコンテナオブジェクトの要素への代入
x =[0, 1] def f(): x[0] = 2 >>> x [0, 1] >>>f() >>>x [2, 1]
33
グローバルスコープの内容を取得する方法
globals() →dict
34
Pytorchのモデルのパラメータを辞書で取得する方法
model.state_dict()
35
"5.6, 5.8"の文字列をfloatのリストにする方法。
list(map(float, args.milestone_epochs.split(",")))
36
TensorからPIL画像に変換、保存する
import torch from PIL import Image import numpy as np 480x640のランダムなインスタンスセグメンテーションのTensor (3チャンネルのRGB画像) tensor_data = torch.randint(0, 256, (3, 480, 640), dtype=torch.uint8) Tensorの次元を (height, width, channels) に変換 numpy_data = tensor_data.permute(1, 2, 0).numpy() TensorをPIL画像に変換 image = Image.fromarray(numpy_data) 画像を保存 image.save("output_image.png")
37
2次元のnumpy配列を、あるリストに含まれている数字の場所だけをそのまま、それ以外は0にしたカラー画像を作る方法は?
import numpy as np import matplotlib.pyplot as plt 例: 元の2次元配列 array = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16] ]) 残したい数字のリスト keep_values = [3, 7, 11] リストに含まれている数字だけをそのまま残し、それ以外を0にする masked_array = np.where(np.isin(array, keep_values), array, 0) カラー画像に変換 (ここでは3チャンネルのRGB画像にする) color_image = np.stack([masked_array]*3, axis=-1) 画像を表示する plt.imshow(color_image, cmap='jet') plt.title("Masked Color Image") plt.show() np.isin(array, keep_values)は、配列の各要素がリスト keep_values に含まれているかを確認し、True or False のマスクを作成します。 np.where を使って、リストに含まれる要素をそのまま、含まれない要素を 0 に置き換えます。 np.stack によって、配列を3チャンネル(RGB)に拡張します。これにより、カラー画像として表示可能になります。
38
Tensorをnumpyにする方法は?
CPUに移動してからNumPy配列に変換 numpy_array = tensor.cpu().numpy()
39
40