行ごとの合計
次のコードを実行したときの出力として、正しいものを1つ選べ。
import pandas as pd
df = pd.DataFrame({"a": [1, 3], "b": [2, 4]})
print(df.apply(lambda r: r.sum(), axis=1).tolist(), df.sum(axis=1).tolist())
- A
[4, 6] [4, 6] - B
[3, 7] [3, 7] - C
[3, 7] [4, 6] - D
[10] [10]
正解と解説を見る
正解:B
DataFrame.apply(関数, axis=1) は、行ごとに関数を適用する。単純な集計は、組み込みのメソッド(sum(axis=1))の方が速い。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import pandas as pd` | — |
| 2 | `df = pd.DataFrame({"a": [1, 3], "b": [2, 4]})` | df = DataFrame(2行×2列) |
| 3 | `print(df.apply(lambda r: r.sum(), axis=1).tol…` | df = DataFrame(2行×2列) |
| 結果 | 実際の出力 | [3, 7] [3, 7] |

- A
誤り。それは列ごとの合計(
axis=0)。 - B
正しい。
axis=1で、行ごとに処理する。applyと組み込みのsumは同じ結果。 - C
誤り。どちらも行ごと。
- D
誤り。全体の合計ではない。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。