我有以下数据框。
df=
s.no., name, ratings, price
0 Microwave Oven Sharp 20 Litres, White, R-20AS-W, 5.0 out of 5 stars, SAR 199.00
1 Geepas 20 Liter Microwave Oven - GMO1894, SAR 186.00, SAR 186.00
2 REBUNE ELECTRIC OVEN 10L, RE1016, SAR 149.00, SAR 149.00
3 Gas stove auto ignition 2 burner, SAR 240.00, SAR 240.00
4 Nikai Microwave - 20 LTR -NMO515N8N, 5.0 out of 5 stars, SAR 192.15
我要从“等级”列中删除所有以SAR开头的值,并将其替换为“无等级”。
输出必须如下:
df=
s.no., name, ratings, price
0 Microwave Oven Sharp 20 Litres, White, R-20AS-W, 5.0 out of 5 stars, SAR 199.00
1 Geepas 20 Liter Microwave Oven - GMO1894, No Ratings, SAR 186.00
2 REBUNE ELECTRIC OVEN 10L, RE1016, No Ratings, SAR 149.00
3 Gas stove auto ignition 2 burner, No Ratings, SAR 240.00
4 Nikai Microwave - 20 LTR -NMO515N8N, 5.0 out of 5 stars, SAR 192.15
答案 0 :(得分:0)
您想要实现的目标可以使用str.replace
。
设置
In[1]: df = pd.DataFrame([["SAR 186.00", 12], ["5 out of 5 stars", 13]], columns=['ratings', 'something'])
#df
Out[2]: ratings something
0 SAR 186.00 12
1 5 out of 5 stars 13
In[3]: df['ratings'] = df.ratings.str.replace("SAR \d+.\d+", "no rating", regex=True)
Out[4]: ratings something
0 no rating 12
1 5 out of 5 stars 13