1

我正在尝试为多口井绘制水位水道。数据位于文本文件中,第一列格式为日期'yyyymmdd'。在这种特殊情况下,还有 35 个其他列带有浮点数。

我一直在尝试使用genfromtxt,但我不想定义所有 36 个 dtype。

我尝试dtype=None使用转换器,但随后收到消息说转换器已锁定且无法更新。

4

1 回答 1

2

我很惊讶您不能使用np.genfromtxt参数converter将您的第一列转换为:

  • 一个np.datetime64对象(正如@DSM 所建议的,前提是您有足够近的 numpy 版本(> 1.6.1))
  • 一个np.object,与一个converter作为:

    converter={0:lambda d: datetime.datetime.strptime(d,"%Y%m%d")

如果您不想定义dtype自己,可以使用dtype=None. 不过,这并不是一个好主意,因为这个选项比给出明确的dtype. 但正如文档告诉你的那样,你可以使用一个元组来定义你的dtype,所以像:

dtype=tuple([np.datetime64] + [float]*35)

或者

dtype=tuple([np.object] + [float]*35)

可以工作。

于 2012-08-26T16:18:37.500 回答