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な値を取得

A
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
Q

datetimeに1日足す法。

A

datetime obj + datetime.time(days=1)

26
Q

datetimeを文字列として出力する方法

A

datetime.strftime(‘%Y%m%d’)

27
Q

re.compileで大文字、小文字関係なくする方法は?

A

re.compile([b-e]\d+, re.IGNORECASE)

28
Q

Pathオブジェクトのファイル名を取得する方法

A

Pathオブジェクトを作成
file_path = Path(‘/path/to/your/file.txt’)

ファイル名を取得
file_name = file_path.name

29
Q

データフレームを1行ごと繰り返し

A

for i, data in Dataframe.iterrows:
→int, Series

30
Q

マルチスレッドのimport

A

from concurrent.futures import ProcessPoolExecutor

31
Q

コンテナオブジェクトとは

A

別のオブジェクトを要素として持つオブジェクト
listやdictなど

32
Q

グローバルスコープのコンテナオブジェクトの要素への代入

A

x =[0, 1]
def f():
x[0] = 2
»> x
[0, 1]
»>f()
»>x
[2, 1]

33
Q

グローバルスコープの内容を取得する方法

A

globals()
→dict

34
Q

Pytorchのモデルのパラメータを辞書で取得する方法

A

model.state_dict()

35
Q

“5.6, 5.8”の文字列をfloatのリストにする方法。

A

list(map(float, args.milestone_epochs.split(“,”)))

36
Q

TensorからPIL画像に変換、保存する

A

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
Q

2次元のnumpy配列を、あるリストに含まれている数字の場所だけをそのまま、それ以外は0にしたカラー画像を作る方法は?

A

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
Q

Tensorをnumpyにする方法は?

A

CPUに移動してからNumPy配列に変換
numpy_array = tensor.cpu().numpy()

39
Q
A
40
Q
A