【问题标题】:Numpy with different data type [duplicate]具有不同数据类型的 Numpy [重复]
【发布时间】:2018-12-01 03:58:49
【问题描述】:

我有一个 Pandas 数据框,它有 4 列。 2 列具有 float64 类型。其他的有int 类型。我想将它们输入到LSTM 层。我需要保持数据类型不变。但是当我使用dataframe.values 将它们转换为Numpy array 时,数据集数据类型更改为float64。如何保持数据类型不变?

(2 列:float64,2 列:int

【问题讨论】:

  • 我认为您应该将所有值作为float 提供给您的模型。
  • numpy 数组不能有混合类型。
  • 你不能在不同的列上有不同的数据类型。如果您想要一个 2D 4xN 数组,您必须为所有列选择一个数据类型。唯一的选择是拥有一个带有structured datatype with four values 的一维数组(我怀疑,keras 不知道如何处理),或者拥有一个包含 4 个单独的一维数组的列表。
  • @tnknepp 如何将混合类型的数据集输入到 Keras?
  • @RishabhAgrahari 是否应该始终以float 的身份提供信息?所有列?

标签: python pandas numpy keras


【解决方案1】:

也许你想看看这个 Store different datatypes in one NumPy array?

在那里,您会发现与您提出的问题完全相同的问题。那就是“如何在numpy数组中存储不同的数据类型”(cmiiw)。

基本上,您可以使用“记录数组”或“结构化数组”。

编辑: 我不知道 keras 参数,或者这种结构是否会被它所支持。但是,如果它是关于在一个 numpy 数组中存储 2 种不同的数据类型,我想你可以使用它。 :)

希望这会有所帮助。

【讨论】:

  • 如何将 pandas 数据帧转换为 Structured arrayRecord array
  • 试试看我给你的链接。也许您想尝试记录一,因为如果您使用的是结构化记录,则可以存储它但无法访问属性。
  • records = numpy.rec.fromarrays((a, b), names=('keys', 'data')) |||此代码将帮助您创建“记录数组”,仅供参考,变量“a”是单个 numpy 数组,变量“b”是单个 numpy 数组。并且被连接在一个名为 records 的单个 numpy 数组中。您可以通过调用它“records.keys”来调用numpy数组A,并通过调用它来调用数字数组B“records.data”。 (抱歉,尽管我想给出更好的解释,但 StackOverflow 的移动版本并不能帮助我创建更整洁的解释)
  • 如果您的答案只是“查看其他等效问题的答案”,请不要写答案,只需投票关闭作为 dup(或标记,如果您没有足够的代表投票)。
  • 我确实想对他的问题发表评论,但当时我的代表点是 46。但我确实想帮忙,那我该怎么办?我无法给出比这更好/更复杂的解释,因为我是在手机上写的。对不起。
猜你喜欢
  • 1970-01-01
  • 2021-10-07
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 2012-08-10
  • 2021-12-01
相关资源
最近更新 更多