使用panda删除非数字字符



我最近一直在使用Python来自动化一些重复的任务。

我的脚本使用API和panda收集两组数据,将它们合并到一个数据文件中,在其中进行一系列检查,然后根据设置的条件处理数据。我花了整整8个小时才弄清楚这一点并找到工作,但我在最后一个障碍上遇到了困难😩

我试图使用一个简单的透视表来总结检查结果,并需要对存储在其中一个df列(commissionAmount(中的值求和。问题是存储在该列中的值看起来像这个

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

我需要它只包含97.0,但我想不通。

如有任何帮助,我们将不胜感激。

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

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

给出了基于给定示例的正确输出

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)

输出:

col1
0  97.0

事实上,我为将这个以前隐藏的功能添加到文档中而奋斗,现在就是熊猫。序列号:(

最新更新