【发布时间】:2020-11-14 02:22:06
【问题描述】:
这是我的数据框 df.city 的城市列
array(['la', 'hollywood', 'pasadena', 'los angeles', 'new york',
'studio city', 'venice', 'santa monica', 'mar vista',
'beverly hills', 'w. hollywood', 'encino', 'st. boyle hts .',
'westlake village', 'westwood', 'west la', 'chinatown',
'monterey park', 'rancho park', 'redondo beach', 'long beach',
'marina del rey', 'culver city', 'burbank', 'century city',
'malibu', 'seal beach', 'northridge', 'st. hermosa beach'],
dtype=object)
我希望将包含['la','hollywood'] 的字符串转换为'los angeles'。如何做到这一点,我为此使用了np.where(condition,x,y),但它的第三个参数(y)让我失望了。
为了替换其他城市,我制作了这本词典
cities={'studio city':'los angeles', 'santa monika':'los angeles', 'mar vista':'los angeles', 'beverly hills':'los angeles', 'encino':'los angeles', 'st. boyle hts .':'los angeles', 'westwood':'los angeles', 'chinatown':'los angeles', 'moterey park':'los angeles', 'rancho park':'los angeles', 'redondo beach':'los angeles', 'century city':'los angeles', 'marina del rey':'los angeles', 'malibu':'los angeles', 'seal beach':'los angeles', 'northridge':'los angeles','st. hermosa beach':'los angeles'}
当我使用 df.city.map(cities) 时,它会映射字典中存在的那些,并用 NaN 替换其他的,例如“los angeles”。
我该如何清理我的数据框列的这一列?
【问题讨论】:
-
使用
df['city'].replace(cities)
标签: pandas numpy mapping data-cleaning