【问题标题】:cannot convert numpy tuple to list无法将 numpy 元组转换为列表
【发布时间】:2016-07-09 01:14:33
【问题描述】:

我正在尝试在 Pandas Dataframe 的列中查找所有最大 len 值的位置:

x2=np.where(tpo2.a.map(len) == tpo2.a.map(len).max())

这项工作并给了我元组:

x2
Out[178]:
(array([34, 35], dtype=int64),)

我想找到接近“中点”位置的最大值位置。这有效:

min(x2, key=lambda x:abs(x-midpoint))

但我需要 x2 是列表而不是元组。我尝试了 .tolist()、list(x2)、map(list,x2),但无法从 x2 获取列表。

我做错了什么?

【问题讨论】:

  • 为什么x2 = list(x2) 不起作用? list(x2) 正在返回一个 list ,也许您忘记将其分配给 x2
  • x2 是元组内部的数组。您必须使用 [0] 索引来获取数组。

标签: python list numpy pandas


【解决方案1】:

我认为你只需要 x2 的第一部分,因为 np.where 返回一个元组:

min(list(x2[0]), key=lambda x:abs(x-midpoint))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2012-08-28
    • 2017-03-08
    • 2018-03-16
    • 1970-01-01
    相关资源
    最近更新 更多