在熊猫数据框中替换“ *”

时间:2018-06-19 13:52:56

标签: python pandas

我有一个值的数据框。

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

但是我看不到我要去哪里。我的代码或方法有什么错误?

2 个答案:

答案 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)