python - 从 CSV 导入 Numpy 并将列转换为 float

标签 python csv numpy

好的,我有一个从 CSV 文件加载的 numpy 数组, 数组看起来像:

array([['0', '3', '22', ..., '7.25', '1', '0'],
       ['1', '1', '38', ..., '71.2833', '0', '0'],
       ['1', '3', '26', ..., '7.925', '1', '0'],
       ..., 
       ['0', '3', '', ..., '23.45', '1', '0'],
       ['1', '1', '26', ..., '30', '0', '0'],
       ['0', '3', '32', ..., '7.75', '0', '0']], 
      dtype='|S8')

我想将数组元素转换为 float ,但出现此错误

data2 = np.array(data).astype(np.float)

Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: could not convert string to float: 

有没有办法用 numpy 或 pandas 解决这个问题?

最佳答案

我认为您的数组中有一个空字符串('')。因此,将数组的 '' 更改为 0

假设您的数组是a:

>>> a[a=='']='0'
>>> a2 = a.astype(np.float)

关于python - 从 CSV 导入 Numpy 并将列转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16497287/

相关文章:

python - 使用 numpy 数组高效索引 numpy 数组

python - 将 np.arrays 分类为重复项

python - 将数据框导出到图像中

php - 如何用PHP解析CSV文件并插入到MySQL数据库中?

c - 如何在 C 中解析带引号的 .csv 文件

javascript - NodeJS 创建 CSV 直接写入 Google Storage

python - np.where() 消除坐标彼此太接近的数据

c++ - 我如何将 ease in out 函数从 c++ 翻译成 python?

python - Discord.py - 如何检测用户是否提及/ping 机器人

python - 如何在 Jupyter Lab 中编辑 .gitignore?