熊猫的多串清洁

时间:2019-03-02 20:57:38

标签: regex string pandas data-cleaning data-cleansing

我正在清理包含以下位置的数据框中的一列:

New York City
New York, NY
New York USA
Las Vegas, Nevada
Las Vegas, NV, USA
Las Vegas North, America

如何清理字符串,使其仅返回城市,即:

New York
New York
New York
Las Vegas
Las Vegas
Las Vegas

我尝试了df.replace({'Location' : { 'New York.*' : 'New York', 'Las Vegas.*':'Las Vegas'}})和其他几个选项,但无法正常工作。

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

这似乎可行

df['Location'] = df['Location'].str.replace(r'(^.*New York.*$)', 'New York')
df['Location'] = df['Location'].str.replace(r'(^.*Las Vegas.*$)', 'Las Vegas')

取自Replace whole string if it contains substring in pandas