脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 解决python3 中的np.load编码问题

解决python3 中的np.load编码问题

2021-09-28 09:00IFT_jason Python

这篇文章主要介绍了解决python3 中的np.load编码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

由于在Python2 中的默认编码为ASCII,但是在Python3中的默认编码为UTF-8。

问题:

所以在使用np.load(det.npy)的时候会出现错误提示:

you may need to pass the encoding= option to numpy.load

解决方法:

当遇到这种情况的时候,用np.load(det.npy,encoding="latin1")就可以了。

补充:python解决numpy导入乱码问题------已解决

使用numpy的loadtxt时,发现报错。

经历如下:

?
1
2
3
4
5
6
// Visual Studio Code
var foo = 'bar';
import numpy as np
if __name__ == "__main__":
 dataset = np.loadtxt("C:/Users/yanruyu/Documents/code/python/GA/dataset.txt")
 print(dataset)

打印出的结果:

ValueError: could not convert string to float: '1,1锛孉'

解决经历:

第一次:

?
1
2
3
4
5
6
// Visual Studio Code
var foo = 'bar';
import numpy as np
if __name__ == "__main__":
 dataset = np.loadtxt("C:/Users/yanruyu/Documents/code/python/GA/dataset.txt",dtype="str") #默认为float,需要dtype
 print(dataset)

打印出的结果:

['1,1锛孉' '1,2锛孉' '1.5,1.5锛孉' '3,4锛孊' '4,4锛孊']

第二次:

?
1
2
3
4
5
6
// Visual Studio Code
var foo = 'bar';
import numpy as np
if __name__ == "__main__":
 dataset = np.loadtxt("C:/Users/yanruyu/Documents/code/python/GA/dataset.txt",dtype="str",encoding='utf-8') #默认为float,需要dtype
 print(dataset)

打印出的结果:

['1,1,A' '1,2,A' '1.5,1.5,A' '3,4,B' '4,4,B']

优化后

?
1
2
3
4
5
6
7
// Visual Studio Code
var foo = 'bar';
import numpy as np
if __name__ == "__main__":
 dataset = np.loadtxt("C:/Users/yanruyu/Documents/code/python/GA/dataset.txt",dtype="str",encoding='utf-8',delimiter=',') #默认为float,需要dtype
 # x=dataset[:,:-1]
 print(dataset)

打印的结果:

PS C:\Users\yanruyu> & D:/Anaconda3/python.exe c:/Users/yanruyu/Documents/code/python/GA/text.py

[['1' '1,A']

['1' '2,A']

['1.5' '1.5,A']

['3' '4,B']

['4' '4,B']]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/infinite_jason/article/details/77678305

延伸 · 阅读

精彩推荐