记一个JSON返回数据的bug
记一个JSON返回数据的bug:‘Object of type int64 is not JSON serializable’
我在打包数组进行json数据返回时,有一个参数是numpy数组里计算出来的,类型为int64,直接进行json打包会报错
提示(‘Object of type int64 is not JSON serializable’,)
,查阅了一些资料,这是因为 JSON 标准规定只支持有限的数据类型,而 int64 不是其中之一。
然后我又搜了一下,python的数据类型,int64和int有什么区别,int64在 什么情况下会出现,得到如下答案:
在 Python 中,int 是整数的基本数据类型,而 int64 是 numpy 库中的数据类型,用于表示 64 位整数。
int 是 Python 内置的整数类型,它可以表示任意大小的整数。在大多数情况下,我们使用的整数都是 int 类型。
而 int64 是 numpy 库中的数据类型,用于处理需要精确表示 64 位整数的情况。int64 类型的整数范围更大,可以表示更大的整数值,而不会溢出。
通常情况下,我们不会直接使用 int64 类型,除非需要处理大整数或者需要与 numpy 库进行交互时。在一些科学计算和数据分析的场景中,numpy 库常常会使用 int64 类型来表示整数数据。
需要注意的是,Python 的内置整数类型 int 在大多数情况下可以满足我们的需求,而且更常见和易于使用。只有在特定的情况下,比如需要处理大整数或者与 numpy 库进行交互时,才需要使用 int64 类型。
后来我把那段代码进行格式转化,转换成float类型,才没有报这个错误了
下面附上代码片段:
for dimension in dimension_list:element_df = result.loc[result['dimension'] == dimension].reset_index(drop=True)dimension_dict = {}dimension_dict['dimension'] = dimensiondimension_dict['JS'] = element_df['js_sum'].loc[0]dimension_dict['EP'] = element_df['ep_sum'].loc[0]dimension_dict['element'] = element_df[['elements', 'surprise', 'EP']].reset_index(drop=True).to_dict(orient='records')result_list.append(dimension_dict)json_str["rcode"] = 0json_str["desc"] = "定位根因success"json_str["dimension"] = result_list
修改后的:
for dimension in dimension_list:element_df = result.loc[result['dimension'] == dimension].reset_index(drop=True)dimension_dict = {}dimension_dict['dimension'] = dimensiondimension_dict['JS'] = float(element_df['js_sum'].loc[0])dimension_dict['EP'] = float(element_df['ep_sum'].loc[0])dimension_dict['element'] = element_df[['elements', 'surprise', 'EP']].reset_index(drop=True).to_dict(orient='records')result_list.append(dimension_dict)json_str["rcode"] = 0json_str["desc"] = "定位根因success"json_str["dimension"] = result_list
相关文章:
记一个JSON返回数据的bug
记一个JSON返回数据的bug:‘Object of type int64 is not JSON serializable’ 我在打包数组进行json数据返回时,有一个参数是numpy数组里计算出来的,类型为int64,直接进行json打包会报错 提示(‘Object of type int64 is not JSON serializa…...
毫米波雷达模块技术革新:在自动驾驶汽车中的前沿应用
随着自动驾驶技术的快速发展,毫米波雷达模块的技术革新成为推动这一领域的关键因素之一。本文将深入研究毫米波雷达模块技术的最新进展,并探讨其在自动驾驶汽车中的前沿应用。 毫米波雷达模块的基本原理 解释毫米波雷达模块的基本工作原理,强…...
优秀数据库模式迁移工具的发展历程
数据库模式迁移可能是应用程序开发中风险最大的领域——因为这是一个困难的、有风险的和痛苦的过程。数据库模式迁移工具的存在是为了减轻这种痛苦,并且已经取得了长足的进步:从基本的CLI工具到GUI工具,从简单的SQL GUI客户端到一体化协作数据…...
【深度学习】数据集最常见的问题及其解决方案
简介 如果您还没有听过,请告诉您一个事实,作为一名数据科学家,您应该始终站在一个角落跟你说:“你的结果与你的数据一样好。” 尝试通过提高模型能力来弥补糟糕的数据是许多人会犯的错误。这相当于你因为原来的汽车使用了劣质汽…...
Excel文件带有密码的只读模式,如何设置?
Excel带有密码的除了打开密码和工作表保护以外,其实还有一种可以设置密码的方法,今天给大家分享如何设置带有密码的只读模式。 打开excel文件,将文件进行【另存为】设置,然后停留在保存路径的界面中,我们点击下面的工…...
【Qt之json文件】json文件介绍及相关读写类介绍、示例
JSON介绍 JSON(JavaScript Object Notation)是一种源自Javascript的编码对象数据的轻量级的数据交换格式,易于理解和编写,JSON但现在已广泛用作互联网上的数据交换格式。 Qt提供了处理JSON数据的支持。Qt中的JSON支持提供了一个易…...
arp 隔离
目录 问题查找解决方式参考 问题 linux 在使用双网卡系统时,当这两个不同网段的网口接到同一个交换机上,会出现 eth0 的 arp 请求,会在 eth1 上收到并回复,相当于自己检测到了自己的 ip。 查找 linux 的底层,默认情…...
数据结构与算法(文章链接汇总)
数据结构与算法(一):概述与复杂度分析 数据结构与算法(二):数组与链表 数据结构与算法(三):栈与队列 数据结构与算法(四):哈希表 数据…...
代码随想录算法训练营第五十九天 | 647. 回文子串、516.最长回文子序列
647. 回文子串 链接: 代码随想录 (1)代码 516.最长回文子序列 链接: 代码随想录 (1)代码...
非关系型数据库-Redis
一、缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较慢的一方起到加速作用,比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据,内存是保存CPU经常访问硬盘的数据,而且硬盘也有大小不一的缓存…...
HTML基本讲解与使用
目录 html的由来: 什么是HTML: HTML的主要特点: HTML文档结构: HTML元素: HTML元素属性: 文本和格式化: 链接和图像: 列表: 表格: 表单: 嵌套和结构: HTML注释: 样式…...
linux uname详解 -s -r -a 查看内核版本
简介 uname命令用于显示操作系统信息,例如内核版本、主机名、处理器类型等 uname常用的有-a,-r,-rs 参数 --help 显示帮助。-a 或--all 显示全部信息,包括内核名、主机名、内核版本、处理器类型和硬件架构等…...
Linux常用命令——cmp命令
在线Linux命令查询工具 cmp 比较两个文件是否有差异 补充说明 cmp命令用来比较两个文件是否有差异。当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有差异,预设会标示出第一个不通之处的字符和列数编号。若不指定任何文件名称或是…...
C语言之排序
1.冒泡排序 冒泡排序就不多说了,只需要两层循环嵌套,两两比较确定相对正确的顺序即可。 2.插入排序 插入排序的思想就是每一次向后寻找一个再将其与前面有序的部分进行对比,寻找合适位置插入。 这里关键要避免让前移超出目前读取的数字&…...
GitHub-使用 Git工具 创建密钥id_rsa.pub
快速导航 步骤1 打开Git Bash步骤2 输入指令【ssh-keygen】步骤3 打开创建的公钥文件步骤4 复制其中所有内容步骤5 打开GitHub中的Setting界面步骤6 添加SSH keys 步骤1 打开Git Bash 打开Git Bash 工具 步骤2 输入指令【ssh-keygen】 输入指令【ssh-keygen】,并…...
C++多重、多层、分层继承
在本文中,您将学习C 编程中的不同继承模型:带有示例的多继承,多层和分层继承。 继承是面向对象编程语言的核心功能之一。它允许软件开发人员从现有的类派生一个新的类。派生类继承基类(现有类)的功能。C 编程中有多种…...
ThingsBoard的数据分析-自定义节点来订阅kafka stream的消息
1、概述 在ThingsBoard官方文档中有说明:ThingsBoard 规则引擎支持对传入遥测数据的基本分析,例如阈值交叉。规则引擎背后的想法是提供基于设备属性或数据本身将数据从物联网设备路由到不同插件的功能。 然而,大多数现实生活中的用例也需要高级分析的支持:机器学习、预测分…...
Python WSGI HTTP Server - Gunicorn
基本概念 Gunicorn,也称为“Green Unicorn”,是一个Python WSGI HTTP Server,用于运行Python Web应用程序。WSGI(Web Server Gateway Interface)是Python应用程序和Web服务器之间的一个接口,允许应用程序和…...
[论文笔记]GPT-2
引言 今天继续GPT系列论文, 这次是Language Models are Unsupervised Multitask Learners,即GPT-2,中文题目的意思是 语言模型是无监督多任务学习器。 自然语言任务,比如问答、机器翻译、阅读理解和摘要,是在任务相关数据集上利用监督学习的典型方法。作者展示了语言模型…...
第十三届蓝桥杯模拟赛第三期
A.填空题 问题描述 请问十六进制数 2021ABCD 对应的十进制是多少? 参考答案 539077581 import java.math.*; public class Main {public static void main(String[] args) {String strnew BigInteger("2021ABCD",16).toString(10);System.out.printl…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
