如果我在使用numpy 1.16.2的Windows笔记本电脑上运行以下代码,则它可以工作。但是,当我在具有numpy 1.16.4或1.16.2的Mac上运行此代码时,却没有,并显示以下错误:
以10为底的int()无效文字:'34 .623659 ...'
我们尝试在Mac设备上安装不同版本的numpy,但是会发生相同的情况。将int更改为float可以起作用,但是,我们希望以整数形式显示值。
我们正在使用的命令:
A = np.loadtxt('ex2data1.txt', delimiter=',', dtype ='int', max_rows = 5)
print(A)
文本文件的第一行为:
34.62365962451697,78.0246928153624,0
30.28671076822607,43.89499752400101,0
35.84740876993872,72.90219802708364,0
60.18259938620976,86.30855209546826,1
79.0327360507101,75.3443764369103,1
45.08327747668339,56.3163717815305,0
61.10666453684766,96.51142588489624,1
75.02474556738889,46.55401354116538,1
76.09878670226257,87.42056971926803,1
84.43281996120035,43.53339331072109,1
95.86155507093572,38.22527805795094,0
75.01365838958247,30.60326323428011,0
82.30705337399482,76.48196330235604,1
69.36458875970939,97.71869196188608,1
39.53833914367223,76.03681085115882,0
53.9710521485623,89.20735013750205,1
我们希望它返回一个与文本文件中相同值但为整数形式的数组,但是,我们收到上述错误。
答案 0 :(得分:1)
您需要float
:
A = np.loadtxt('ex2data1.txt', delimiter=',', dtype =float, max_rows = 5).astype(int)