用一组新值替换列中的元素范围并将其余元素设置为 0

对于数据框,我用一系列值替换了列中的一组项目,如下所示:

df['borough_num'] = df['Borough'].replace(regex=['MANHATTAN', 'BROOKLYN', 'QUEENS', 'STATEN ISLAND','BRONX'], value=[1, 2, 3, 4,5])

我想用值 0 替换 'Borough' 中所有其余元素的问题,我也需要使用正则表达式,因为有些看起来像数据,例如。07 BRONX,我也需要把它换成 5 而不是 0


呼啦一阵风
浏览 178回答 2
2回答

肥皂起泡泡

或者更短,使用map:df['borough_num']=df['Borough'].map(dict(zip(['MANHATTAN', 'BROOKLYN', 'QUEENS', 'STATEN ISLAND','BRONX'],[1, 2, 3, 4,5])))现在:print(df)正如预期的那样。更新:df['borough_num']=df['Borough'].str.replace('\d+','').map(dict(zip(['MANHATTAN', 'BROOKLYN', 'QUEENS', 'STATEN ISLAND','BRONX'],[1, 2, 3, 4,5])))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python