仮定の状況ですが、解析用のデータを情報システムから提供されました。しかし、特定の列は本来'int64' であるべきなのに、'dtype('O')' でオブジェクト型になっていました。

おそらく、ExcelでVLOOKUP関数を使用して他のExcelシートから情報を照合し、一致しない場合に'#N/A' が入力されているようです。そのため、問題を特定するために以下のコマンドを使用して問題を解決しました。

1
2
# 列PY_10に`#N/A` が混ざっていないかを確認する
df[df['PY_10'].isin(['#N/A'])]

結果は、以下のとおり6203行目に発見!

n/a_found

具体的な変更点は、以下のように行いました。この場合、ゼロを代入しました。

1
2
# 特定の要素をピンポイントに変更する
df.at[6203, 'PY_10']=0