python-3.x - 您可以将 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)
如果可能的话,我想同时删除'$'
和','
字符。
解决方案
冒昧地从@Ian> 借用DataFrame
还有另一种方法可以使用replace
method 和 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
推荐阅读
- java - 为什么我得到非法监视器异常
- python - 如何将比特币纸质钱包密钥导入 bitcoinlib 钱包?
- powershell - 带有 Invoke-Webrequest 的 Groovy 管道不起作用
- reactjs - 使用服务器端渲染获取数据的正确方法(Next.js,何时使用 componentDidMount 以及何时使用 componentWillMount)
- ios - 无法解析模块“计划/跟踪”
- autofac - 请求的服务“Microsoft.AspNetCore.Hosting.Server.IServer”尚未注册
- java - 如何在android中获取当前日期?(不是设备本地内存中设置的日期)
- c - 没有 SSE4.1 的高效 SSE FP `floor()` / `ceil()` / `round()` 舍入函数?
- javascript - 从action发送的数据没有被reducer接收
- jquery - 如何根据所选选项卡的状态更改按钮文本