繁体   English   中英

使用 pandas 删除非数字字符

[英]Remove non-numeric characters using pandas

我最近陷入了 Python 以自动化一些重复性任务。

我的脚本使用 API 和 pandas 收集两组数据,将它们合并到一个数据文件中,并在其中进行一系列检查,然后根据设定的标准处理数据。 我花了整整 8 个小时来解决这个问题并得到一些工作,但我在最后一个障碍上绊倒了

我正在尝试使用简单的 pivot 表来总结检查结果,并且需要将存储在 df 列之一(commissionAmount)中的值相加。 问题是存储在此列中的值如下所示

{'金额':97.0,'货币':'英镑'}

我需要它只包含 97.0 但我无法弄清楚。

任何帮助,将不胜感激。

假设您的数字格式始终相同(小数点前 2 位,小数点后 1 位):

df['Col1'].str.extract(r'(\d{2}\.\d)')

根据给出的示例给出正确的 output

df3 = pd.DataFrame()
df3['Col1'] = ["{'amount': 97.0, 'currency': 'GBP'}"]
df3['Col1'].str.extract(r'(\d{2}\.\d)')
0  97.0

给定df

                                  col1
0  {'amount': 97.0, 'currency': 'GBP'}

我们可以通过执行以下操作来提取amount

df.col1 = df.col1.str.get('amount')
print(df)

Output:

   col1
0  97.0

我实际上争取将这个以前隐藏的功能添加到文档中,现在是~ pandas.Series.str.get :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM