質問: 次のようなdataframeがあるとします. ``` 名前 年齢 あ NaN あ 20 い 30 ``` このdataframeに対して,「名前に「あ」を含み年齢がNaNの行の年齢に10を代入する」という処理がしたいです. ``` for i, row in df.iterrows(): if 'あ' in row["名前"]: if row["年齢"]!=row["年齢"]: row["年齢"]=10 ``` というコードを書いたのですが,元のdataframeに反映されません. どのように書き変えればよいのでしょうか.ご教授願います.
回答: こんか感じででしょうか。 ``` from pandas import DataFrame from numpy import nan df = DataFrame({'名前': ['あ', 'あ', 'い'], '年齢': [nan, 20, 30]}) df.loc[(df['名前'] == 'あ') & (df['年齢'].isnull()), '年齢'] = 10 ```