【问题标题】:could not convert string to float: '2019-10-16'无法将字符串转换为浮点数:'2019-10-16'
【发布时间】:2021-10-30 10:31:17
【问题描述】:

当我想加载以下数据集时出现值错误。 我跳过了第一行,因为它在某些来源中说“不要取标题 - 第一行”。但它又在另一行给出了错误。

from numpy import loadtxt
path = r"C:\Users\emre.yildirim\Desktop\Dominos_Stock_Data.csv"
datapath = open(path,'r')
data = loadtxt(datapath,delimiter=",")

ValueError:无法将字符串转换为浮点数:“日期”

 from numpy import loadtxt
 path = r"C:\Users\emre.yildirim\Desktop\Dominos_Stock_Data.csv"
 datapath = open(path,'r')
 data = loadtxt(datapath,delimiter=",",skiprows=1)

ValueError:无法将字符串转换为浮点数:'2019-10-16'

【问题讨论】:

  • 尝试genfromtxt 而不是loadtxt
  • 检查docsdtype 是“结果数组的数据类型”,默认为float2019-10-16 不是浮点数。请提供架构或使用genfromtxt
  • @GhostOps 谢谢,但 print(data[:1]) 给出的结果为 [[nan nan nan nan nan nan]] 为什么?
  • @Cocojombo 我认为这是因为并非矩阵中的所有值都是浮动的,因为第一行有字母,所以我猜是 numpy 替换为 nan
  • @Cocojombo 我对此一无所知,我尝试在一个 numpy 数组中打印 254.89,它按原样打印,但是当我添加一些像 72814887 这样的整数时,它开始每隔一个打印号码如...e+blabla

标签: python numpy


【解决方案1】:

试试genfromtxt,而不是loadtxt

而且,由于标题有文本字符串,numpy 替换为nan(我猜)因为dtype 默认为float

所以在genfromtxt 中尝试skip_header=1 以及它

代码:

from numpy import genfromtxt

path = r"C:\Users\emre.yildirim\Desktop\Dominos_Stock_Data.csv"
datapath = open(path,'r')
data = genfromtxt(datapath, delimiter="," ,skip_header=1)

输出除标题以外的所有内容

如果它不起作用,请告诉我...

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多