Python 模擬試験

Pythonデータ分析実践 模擬試験 第2回 問15・3章 表形式データの加工(列の追加と変換)

np.where による区分

次のコードを実行したときの出力として、正しいものを1つ選べ。

import pandas as pd
import numpy as np
df = pd.DataFrame({"x": [1, 2, 3]})
df["g"] = np.where(df["x"] >= 2, "hi", "lo")
print(df["g"].tolist())
  1. A

    ['hi', 'hi', 'lo']

  2. B

    ['lo', 'hi', 'hi']

  3. C

    ['lo', 'lo', 'hi']

  4. D

    [False, True, True]

正解と解説を見る

正解:B

np.where(条件, 真のとき, 偽のとき) で、条件に応じた値の列を作る。複数の条件は np.select を使う。

順実行する行実行後の変数
1`import pandas as pd`—
2`import numpy as np`—
3`df = pd.DataFrame({"x": [1, 2, 3]})`df = DataFrame(3行×1列)
4`df["g"] = np.where(df["x"] >= 2, "hi", "lo")`df = DataFrame(3行×2列)
5`print(df["g"].tolist())`df = DataFrame(3行×2列)
結果実際の出力['lo', 'hi', 'hi']
変数 df の中身を表にしたもの。列は x, g。

コードの実行後の df(DataFrame)。

学習のポイント:apply より速いことが多い。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。