老牛来学习 发表于 2020-12-13 21:18:50

ValueError: could not convert string to float

这段代码中数值错误是为什么

# coding=UTF-8
import numpy as np

us_data = "C:/Users/lz/Desktop/rdtest.csv"
uk_data = "C:/Users/lz/Desktop/rdtest1.csv"

#加载国家数据
us_data = np.loadtxt(us_data,delimiter=',',dtype='float',encoding='UTF-8-sig')
uk_data = np.loadtxt(uk_data,delimiter=',',dtype='float',encoding='UTF-8-sig')

#添加国家数据
#构造全为0的数据
zeros_data = np.zeros((us_data.shape,1)).astype(int)
ones_data = np.ones((uk_data.shape,1)).astype(int)

#分别添加一列全为0,1的数组
us_data = np.hstack((us_data,zeros_data))
uk_data = np.hstack((uk_data,ones_data))

#拼接两组数据
final_data = np.vstack((us_data,uk_data))
print(final_data)

qq1151985918 发表于 2020-12-13 21:33:53

我猜可能是你csv里面不止是单单数字,比如第一行或者第一列可能会有汉字、英文作为表头。

老牛来学习 发表于 2020-12-13 21:43:03

qq1151985918 发表于 2020-12-13 21:33
我猜可能是你csv里面不止是单单数字,比如第一行或者第一列可能会有汉字、英文作为表头。

csv里的数据是我为了做这个,用excel做的30行3列的一个用rand函数做的随机数表格然后保存成csv格式文件,检查过了没有字符。但是用这种方法会不会它保存的时候自动生成字符标记之类的东西?怎么解决呢

老牛来学习 发表于 2020-12-13 21:45:37

老牛来学习 发表于 2020-12-13 21:43
csv里的数据是我为了做这个,用excel做的30行3列的一个用rand函数做的随机数表格然后保存成csv格式文件, ...

感谢

小小小菜菜菜 发表于 2020-12-13 22:24:59

直接强制转换

qq1151985918 发表于 2020-12-13 23:33:44

老牛来学习 发表于 2020-12-13 21:43
csv里的数据是我为了做这个,用excel做的30行3列的一个用rand函数做的随机数表格然后保存成csv格式文件, ...

我刚刚测试过了,没问题,也用的是rand,可能还是你csv的问题,你用记事本打开csv看一看内容吧。我也不知道你是不是直接改的xls改成了csv我就多句嘴,excel你用另存为选择其他格式是可以保存csv的,如果真的有字符标记那需要预处理,不如先用str然后处理掉标记字符。还是先用记事本打开csv看看吧。

守望星星 发表于 2020-12-14 08:22:57

我进来学习一下
页: [1]
查看完整版本: ValueError: could not convert string to float