我有一个值的数据框。
mydf.head():
Amount Date Description
0 39.95 2017-03-30 Paypal *A2zkidsltd
1 2.39 2017-04-01 Mcdonalds
2 8.03 2017-04-01 Wm Morrison
3 34.31 2017-04-01 Wm Morrison
4 10.56 2017-04-03 Asda Superstore
我希望什么都不要替换所有“ *”。我在“说明”列上使用了熊猫替换功能。
mydf['Description'].replace('*','', inplace=True)
再看一下结果:
mydf.head()
0 39.95 2017-03-30 Paypal *A2zkidsltd
1 2.39 2017-04-01 Mcdonalds
2 8.03 2017-04-01 Wm Morrison
3 34.31 2017-04-01 Wm Morrison
4 10.56 2017-04-03 Asda Superstore
第一笔交易仍包含“ *”。
对于所有包含“ *”的交易都可以看到。
我看过文档;
https://pandas.pydata.org/pandas-docs/version/0.22.0/generated/pandas.DataFrame.replace.html
但是我看不到我要去哪里。我的代码或方法有什么错误?
答案 0 :(得分:2)
您可以尝试:
df['Description'] = df['Description'].str.replace('*','')
inplace
似乎没有选择,因此,需要再次分配给column
。
答案 1 :(得分:0)
尝试转义-*
是一个特殊字符:)
mydf['Description'].replace('\*','', inplace=True)
或者如Sacul建议的那样:
mydf['Description'].replace('*','', regex=False, inplace=True)