3 回答
TA贡献1155条经验 获得超0个赞
最简单的方法是使用replace列上的方法。参数是您要替换的内容(在此处['ABC', 'AB'])和您要替换的内容('A'在这种情况下为字符串)的列表:
>>> df['BrandName'].replace(['ABC', 'AB'], 'A')
0 A
1 B
2 A
3 D
4 A
这将创建一个新的系列值,因此您需要将此新列分配给正确的列名称:
df['BrandName'] = df['BrandName'].replace(['ABC', 'AB'], 'A')
TA贡献1777条经验 获得超3个赞
更换
DataFrame对象具有强大而灵活的replace方法:
DataFrame.replace(
to_replace=None,
value=None,
inplace=False,
limit=None,
regex=False,
method='pad',
axis=None)
请注意,如果您需要进行更改,请inplace对replace方法使用布尔参数:
到位
inplace:布尔值,默认为False If True。注意:这将修改此对象上的任何其他视图(例如,DataFrame中的列)。如果为,则返回调用方True。
片段
df['BrandName'].replace(
to_replace=['ABC', 'AB'],
value='A',
inplace=True
)
TA贡献1803条经验 获得超3个赞
此解决方案将更改现有数据框本身:
mydf = pd.DataFrame({"BrandName":["A", "B", "ABC", "D", "AB"], "Speciality":["H", "I", "J", "K", "L"]})
mydf["BrandName"].replace(["ABC", "AB"], "A", inplace=True)
添加回答
举报