进行了我第一次API调用,以获取其中的1行7列(这是按日期获取活动度量数据的唯一可用报告导出调用):
下面是第一行,所以是excel中的A1
{'other': False, 'total': {'impressions': 346821, 'taps': 12167, 'installs': 7535, 'newDownloads': 5364, 'redownloads': 2171, 'latOnInstalls': 1878, 'latOffInstalls': 5657, 'ttr': 0.0351, 'avgCPA': {'amount': '1.8', 'currency': 'GBP'}, 'avgCPT': {'amount': '1.1147', 'currency': 'GBP'}, 'localSpend': {'amount': '123.456', 'currency': 'GBP'}, 'conversionRate': 0.6193}, 'metadata': {'campaignId': 219752776, 'campaignName': Campaign1', 'deleted': False}}
我想做的是删除每行中除localexpense:123.345之外的所有内容,然后对其进行汇总
我想我需要一些循环,但是,我不确定该怎么做,因为列名被归类为标题,我对熊猫很陌生
提前谢谢
flixoflax的答案应该是可行的,而且是好的和直接的
不过,它在熊猫之外做了大量的工作;这里有一个纯熊猫解决方案作为示例(如果您最终决定要保留所有数据,还可以保留所有数据)
在pandas之外执行初始循环的问题是,虽然它对样本数据有效,但如果源数据在Excel中,则可以(并且应该)使用pandas加载数据。在这种情况下,将数据加载到pandas中,在pandas外部循环,然后返回到pandas中进行处理是没有意义的
按正常方式导入和加载数据:
将数据直接加载到数据帧中(而不是循环并挑选一个键值)。注意,这会导致使用更多内存的数据帧,但这意味着所有值都可用,并且在外部不需要初始循环
此外,在第一次加载时,一些列将是字典。这需要清理一下
必要的操作可以一步一步或一次完成。在本例中,我将发布这两个集合以进行比较
或更简洁的形式,拆分和合并同时发生:
并不是因为列被保留为默认的数据类型(对象),所以执行了
df['amount'].astype('float64')
。如果像flixoflax那样将列转换为数字,则不需要这样做“金额”列的最终版本可以拆分为自己的数据帧或系列,同时可以转换为浮点:
我假设您的API响应是一个字典列表,如果我理解正确,您只需要将所有LocalExpense值相加:
代码如下:
相关问题 更多 >
编程相关推荐