Pandas 如何正确使用map和np.where替换列中的值

Pandas 如何正确使用map和np.where替换列中的值,pandas,numpy,mapping,data-cleaning,Pandas,Numpy,Mapping,Data Cleaning,这是我的dataframe-df.city的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',

这是我的dataframe-df.city的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']
的字符串转换为
'losangeles'
。如何做到这一点,我使用了
np.where(condition,x,y)
,但它的第三个参数(y)让我失望

为了取代其他城市,我制作了这本词典

城市={《画室之城》:《洛杉矶》:《圣莫尼卡》:《洛杉矶》:《玛尔维斯塔》:《洛杉矶》:《比佛利山庄》:《洛杉矶》:《恩西诺》:《洛杉矶》:《圣博伊尔hts》:《洛杉矶》:《威斯特伍德》:《洛杉矶》:《唐人街》:《洛杉矶》:《汽车旅馆公园》:《洛杉矶》:《兰乔公园》:《洛杉矶》:《雷东多海滩》:《洛杉矶》:《世纪城》:《洛杉矶》:《洛杉矶》:《世纪城》:《洛杉矶》:《洛杉矶》:《洛杉矶》:《洛杉矶》:《洛杉矶》:《洛杉矶》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”。
我怎样才能开始清理数据框列中的此列?

您可以使用
np。其中
如下所示:

df['city'] = np.where((df['city'].str.contains('la'))| (df['city'].str.contains('hollywood')), 'los angeles', df['city'])
第三个参数只是原始列。

使用
df['city']。替换(cities)