複数の集計の列名
次のコードを実行したときの出力として、正しいものを1つ選べ。
import pandas as pd
df = pd.DataFrame({"k": ["a", "a"], "v": [1, 2]})
print(df.groupby("k")["v"].agg(["sum", "count"]).columns.tolist())
- A
['v'] - B
['k', 'v'] - C
['sum', 'count'] - D
[0, 1]
正解と解説を見る
正解:C
agg にリストを渡すと、関数名が列名になる。Series に agg を使うと列が平らになり、DataFrame に使うと列が階層になる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import pandas as pd` | — |
| 2 | `df = pd.DataFrame({"k": ["a", "a"], "v": [1, …` | df = DataFrame(2行×2列) |
| 3 | `print(df.groupby("k")["v"].agg(["sum", "count…` | df = DataFrame(2行×2列) |
| 結果 | 実際の出力 | ['sum', 'count'] |

- A
誤り。関数ごとに列ができる。
- B
誤り。結果の列は集計の名前。
- C
正しい。複数の関数をリストで指定すると、関数名が列名になる。
- D
誤り。列名は関数の名前。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。