首页 > 解决方案 > 如何替换熊猫数据框中看起来相似的值?

问题描述

我是熊猫新手。我的数据集中有以下数据类型。(数据集是从 Kaggle 下载的 Indian Startup Funding。)

Date                datetime64[ns]
StartupName                 object
IndustryVertical            object
CityLocation                object
InvestorsName               object
InvestmentType              object
AmountInUSD                 object
dtype: object

data['AmountInUSD'].groupby(data['CityLocation']).describe()

我做了上面的操作,发现很多城市都差不多,比如,

Bangalore   
Bangalore / Palo Alto
Bangalore / SFO
Bangalore / San Mateo
Bangalore / USA
Bangalore/ Bangkok

我想做以下操作,但我不知道这个代码。

在 CityLocation 列中,找到所有以“Bang”开头的单元格并将它们全部替换为“Bangalore”。帮助将不胜感激。

我做了这个

data[data.CityLocation.str.startswith('Bang')] 

我不知道在此之后该怎么办。

标签: pythonpandasdata-sciencedata-analysis

解决方案


您可以使用该loc函数在列中查找子字符串匹配的值,并将其替换为您选择的值。

import pandas as pd

df = pd.DataFrame({'CityLocation': ['Bangalore', 'Dangerlore', 'Bangalore/USA'], 'Values': [1, 2, 3]})
print(df)
#     CityLocation  Values
# 0      Bangalore       1
# 1     Dangerlore       2
# 2  Bangalore/USA       3


df.loc[df.CityLocation.str.startswith('Bang'), 'CityLocation'] = 'Bangalore'
print(df)
#   CityLocation  Values
# 0    Bangalore       1
# 1   Dangerlore       2
# 2    Bangalore       3

推荐阅读