首页 > 解决方案 > 您可以将 pandas df.str.replace() 函数用于多个值吗?

问题描述

我正在使用 pandasdf.str.replace()函数,并想从字符串中删除多个字符。

我正在尝试使用 .csv 文件清理 CSV 文件中的一些交易数据pandas。我有一列将交易金额存储为Object数据类型。在将其更改为float数据类型之前,我需要从大于. 我已经能够一次做到这一点;但是,我想知道是否可以传入多个值来清理它。$,999.99

2 2019 年 8 月 20 日犹他谷大学犹他谷大学 UVU PMT 1 908191 4,825.50

df['Amount'] = df['Amount'].str.replace(r',','').astype(float)

如果可能的话,我想同时删除'$'','字符。

标签: python-3.xstringpandas

解决方案


冒昧地从@Ian> 借用DataFrame

还有另一种方法可以使用replacemethod 和 withngreplace使用 dict 方法来替换列中的多个值。

>>> df
    amount
0  $25,000
1  $13,000
2  $65,000
3  $19,000
4  $15,000

它将简单地删除带有空值的$符号和逗号。''

>>> df['amount'].replace({'\$': '', ',': ''}, regex=True)
0    25000
1    13000
2    65000
3    19000
4    15000
Name: amount, dtype: object

只是为了将值转换为浮动使用astype..

>>> df['amount'].replace({'\$': '', ',': ''}, regex=True).astype(float)
0    25000.0
1    13000.0
2    65000.0
3    19000.0
4    15000.0
Name: amount, dtype: float64

推荐阅读