我最近一直在使用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
事实上,我为将这个以前隐藏的功能添加到文档中而奋斗,现在就是熊猫。序列号:(