列ごとの fillna
次のコードを実行したときの出力として、正しいものを1つ選べ。
import pandas as pd
import numpy as np
df = pd.DataFrame({"a": [1, np.nan], "b": [np.nan, 2]})
print(df.fillna({"a": 0, "b": 9}).values.tolist())
- A
[[1.0, 0.0], [0.0, 2.0]] - B
[[1.0, 9.0], [0.0, 2.0]] - C
[[1.0, 9.0], [9.0, 2.0]] - D
[[0.0, 9.0], [0.0, 9.0]]
正解と解説を見る
正解:B
fillna に辞書を渡すと、列ごとに異なる値で欠損を埋められる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import pandas as pd` | — |
| 2 | `import numpy as np` | — |
| 3 | `df = pd.DataFrame({"a": [1, np.nan], "b": [np…` | df = DataFrame(2行×2列) |
| 4 | `print(df.fillna({"a": 0, "b": 9}).values.toli…` | df = DataFrame(2行×2列) |
| 結果 | 実際の出力 | [[1.0, 9.0], [0.0, 2.0]] |

- A
誤り。
bの欠損は 9 で埋まる。 - B
正しい。列ごとに埋める値を、辞書で指定できる。
- C
誤り。
aの欠損は 0 で埋まる。 - D
誤り。欠損でない値は残る。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。