python int64_一个numpy int64的坑
今天跑一个tensorflow代码,由于最后结果需要导出为json的文件,所以采用了json.dumps直接写文件,但是一直报错:
Traceback (most recent call last):
File "predict_test.py", line 62, in
json.dump(submit, fw)
File "/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/__init__.py", line 178, in dump
for chunk in iterable:
File "/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py", line 427, in _iterencode
yield from _iterencode_list(o, _current_indent_level)
File "/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py", line 324, in _iterencode_list
yield from chunks
File "/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py", line 403, in _iterencode_dict
yield from chunks
File "/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py", line 324, in _iterencode_list
yield from chunks
File "/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py", line 436, in _iterencode
o = _default(o)
File "/home/tensorflow/.pyenv/versions/3.5.3/lib/python3.5/json/encoder.py", line 179, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: 26 is not JSON serializable
蒙蔽了很久,怎么26这个数字不可以serializable??
定位到报错代码位置,报错代码如下:
top_indices = []
submit = []
for i in range(n):
diction = {}
diction["label_id"] = list(preds[i].argsort()[-3:][::-1])
diction["image_id"] = id_list[i]
submit.append(diction)
with open('submit.plk','w') as fw:
json.dump(submit, fw)
好像没有什么问题呀~??
做了个小测试:
In [2]: a = submit[1]
In [3]: a
Out[3]:
{'image_id': 'c532ed79f6c54fb3cf8c45004656e385079a5284.jpg',
'label_id': [25, 13, 15]}
In [4]: b = {'image_id': 'c532ed79f6c54fb3cf8c45004656e385079a5284.jpg',
...: 'label_id': [25, 13, 15]}
In [5]: json.dumps(b)
Out[5]: '{"image_id": "c532ed79f6c54fb3cf8c45004656e385079a5284.jpg", "label_id": [25, 13, 15]}'
In [6]: a == b
Out[6]: True
In [7]: json.dumps(a)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
...
TypeError: 25 is not JSON serializable
明明a 的值 和b 相等,为什么b就可以json.dumps,而 a json.dumps报错,懵逼一会,想想要不查看下25这个对象,原来对于a来说 25 是一个!!!
被狠狠地坑了半个小时~~由于平时做数据处理大家会经常用到numpy的array,所以大家也要注意,虽然都是整形,但numpy.int64和python的整数是不一样的,解决方案,可以用astype('in32t')或者直接用python的int()方法。
python int64_一个numpy int64的坑相关推荐
- 如何借助new bing修复 pyfolio: AttributeError: ‘numpy.int64‘ object has no attribute ‘to_pydatetime‘
如何修复 pyfolio的报错 AttributeError: 'numpy.int64' object has no attribute 'to_pydatetime' 的报错? 最近使用Pytho ...
- 天坑!python【numpy.int64和int类型转换】
解释说明: numpy.int64和int是不一样的!!!!一定要注意,这个坑我踩了好几天才发现!!!!! 比如说:在处理dataframe的时候,读取出来的可能是numpy.int64,但是后边的程 ...
- python绘制一个简单的函数图像使用到了matplotlib库和numpy库
文章目录 效果展示: 视频链接 实现的思想 使用到的函数包 图片一对应的代码展示 图片二 对应的代码展示 注意事项 效果展示: 视频链接 python绘制一个简单的函数图像(B站视频) 实现的思想 其 ...
- python 数组拷贝,如何将数据从一个numpy数组复制到另一个数组
为了回答你的问题,我玩了一些变体,并对它们进行了分析. 结论:将数据从一个numpy数组复制到另一个使用内置的numpy函数numpy.array(src)或numpy.copyto(dst, src ...
- python编写登录_通过Python编写一个简单登录功能过程解析
通过Python编写一个简单登录功能过程解析 需求: 写一个登录的程序, 1.最多登陆失败3次 2.登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3.要检验输入是否为空,账号和密码不能为空 ...
- 【从0开始入门python】一个半月的三万字学习笔记汇总!!!
python学习 DAY01-DAY04基础操作 DAY05-DAY09基本模块 常用pip源 (1)阿里云 http://mirrors.aliyun.com/pypi/simple/ (2)豆瓣 ...
- Python 数据分析之Numpy
Python 数据分析之Numpy Python有着大量功能强大的第三方库.这些第三方库可以大大地扩充Python的功能,我们在实际使用中往往也离不开这些第三方库. NumPy是Python的一种开源 ...
- Python 中的Numpy函数
文章目录 一.什么是Numpy 1.1 ndarray 构建ndarray 1.2 数据类型 Numpy 的矢量化(向量化)功能 二.创建常用的数组 2.1 创建一个全0数组 2.2 全1数组 2.3 ...
- python中导入numpy库_python中的Numpy库
导入numpy库: import numpy as np python的一个科学计算库的一个基础包,包含了强大的N维数组对象和向量运算 数组创建,可以使用array函数从常规的python列表和或元组 ...
最新文章
- C ++基本输入/输出
- d010:盈数、亏数和完全数
- Codeigniter设计和架构目标
- pearson相关系数_三个相关系数的注意事项
- Struts2.0下的客户端验证
- 浏览器缓存详解:expires,cache-control,last-modified,etag详细说明
- ubuntu多节点安装kubernetes
- thread local storage
- php漏洞论坛,PHPWind超级漏洞简单用
- 如何正确执行碎片整理或在群集共享卷(CSV)上使用CHKDSK命令
- vm中linux物理内存不足解决方案
- OpenGL进阶演示样例1——动态画线(虚线、实线、颜色、速度等)
- 机器学习十大经典算法之逻辑回归
- vue 检测ie版本_Vue2+Webpack+ES6 兼容低版本浏览器(IE9)解决方案
- lonlifeOJ1152 “玲珑杯”ACM比赛 Round #19 概率DP
- 首都师范大学计算机科学与技术考研分数线,2017考研:计算机科学与技术专业考研院校推荐之首都师范...
- Leetcode431.将N叉树编码为二叉树(golang)
- Java的split()用法
- python-学生管理系统--2录入学生信息内容以及代码
- react前端封装接口弹出错误_react+ts打包发布后报Minified React error ..这种错误
热门文章
- 通过抓包看quic定义的包结构
- HDU 6446 Tree and Permutation (dp)
- 使用selenium时遇到的报错selenium.common.exceptions.WebDriverException: Message: Service xxxxstaus:1详解及解决方法详解
- 做一个简单的java编辑器
- 哈密尔顿算法matlab,[求助]关于哈密尔顿函数
- Java运行时报错,the selection cannot be launched,and there are no recent launches
- CSS选择器有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先?
- (JAVA编程练习):两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。抽签名单已经决定,有人向队员打听比赛名单。a说他不和x比,c说他不和x,z比,编写程序找出比赛名单。
- Neovim开发Golang示例
- 从亿级数据量的url中找出出现次数最多的前十个url