pandas dataframe df2
に読み込まれた人物の属性を含むリスト。クリーンアップのために、値ゼロ(0
または'0'
)をnp.nan
で置き換えます。
df2.dtypes
ID object
Name object
Weight float64
Height float64
BootSize object
SuitSize object
Type object
dtype: object
値ゼロをnp.nan
に設定する作業コード:
df2.loc[df2['Weight'] == 0,'Weight'] = np.nan
df2.loc[df2['Height'] == 0,'Height'] = np.nan
df2.loc[df2['BootSize'] == '0','BootSize'] = np.nan
df2.loc[df2['SuitSize'] == '0','SuitSize'] = np.nan
これは同様の/より短い方法で実行できると信じてください:
df2[["Weight","Height","BootSize","SuitSize"]].astype(str).replace('0',np.nan)
ただし、上記は機能しません。ゼロはdf2に残ります。これに取り組むには?
data['amount']=data['amount'].replace(0, np.nan)
data['duration']=data['duration'].replace(0, np.nan)
'replace'メソッドを使用して、リストで置き換える値を最初のパラメーターとして渡し、必要な値を2番目のパラメーターとして渡すことができます。
cols = ["Weight","Height","BootSize","SuitSize","Type"]
df2[cols] = df2[cols].replace(['0', 0], np.nan)