【发布时间】:2018-12-19 06:22:43
【问题描述】:
我有一个 numpy 结构化数组,我需要在其中控制各个元素的数据类型。
这是我的例子:
y = array([(True, 144.0),
(True, 86.0),
(True, 448.0),
(True, 76.0),
(True, 511.0)], dtype=object)
如果我这样做:
print(y.dtype.fields)
我回来了:
None
但是,我想要的是“bool”和“float”。
如果我访问单个元素,例如 y[0][0] 和 y[0][1],我肯定会看到它们确实是 bool 和 float。
我对此感到非常困惑。有什么想法吗?
我需要这个,因为我使用包“sciki-survival gradient boosting”:https://scikit-survival.readthedocs.io/en/latest/generated/sksurv.ensemble.GradientBoostingSurvivalAnalysis.html#sksurv.ensemble.GradientBoostingSurvivalAnalysis.fit 输入需要是“bool”和“float”类型的结构化数组。
【问题讨论】:
-
y.dtype给你什么? -
它给出
dtype('O'),即np.object_。这不是结构化数组 -
@Eric 如何构建结构化数组,然后使用相同的内容?
-
你是如何构建这个数组的?
-
@KimO,看起来您正在使用wrong answer 中的previous question(或者没有阅读我对该答案的评论)。一次迈出一步。了解您进行的每一步。这将帮助您更快地解决问题。