行の選択: loc[] と iloc[]
DataFrame を扱ううえで重要なのは、データセットの中から特定の要素を見つけることです。行を特定する方法は次の2つがあります。
- 特定の列(特徴量)の値によって特定する。
- 行のインデックス(index)によって特定する。この演習では2つ目に集中します。
pandas の経験がある方は、.loc と .iloc のインデクサに馴染みがあるはずです。これはそれぞれ「location(ラベル位置)」と「index location(整数位置)」を表します。多くの場合、インデックスは DataFrame 内の各行の位置と一致します(例:インデックス 13 の行は 14 行目)。
どちらの関数でも同じ処理はできますが、ここではスピードの観点でどちらがより効率的かに注目します。
この演習はコースの一部です
pandasで効率的にコードを書く
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define the range of rows to select: row_nums
row_nums = range(0, 1000)
# Select the rows using .loc[] and row_nums and record the time before and after
loc_start_time = time.time()
rows = poker_hands.____[____]
loc_end_time = ___
# Print the time it took to select the rows using .loc[]
print("Time using .loc[]: {} sec".format(___ - ___))