ufunc'add'不包含签名匹配类型为dtype的循环

时间:2019-12-19 11:51:19

标签: python arrays

为什么会出现此错误?

ufunc'add'不包含签名匹配类型为dtype的循环

代码:

cols = df.columns.tolist()
cols = np.array (cols)
cols2 = cols[:17] + cols[19:22] + cols [18]

谢谢!

1 个答案:

答案 0 :(得分:0)

有2个问题

    当在+数组上使用
  • 运算符numpy时,它被解释为数值加法,而不是列表串联,因此与匹配dtype有关的错误。而不是添加,您应该使用np.concatenate
  • cols[18]不是数组-它是数组的元素。您不能添加数字和数组(如果要执行的操作是将元素附加到数组中)
cols2 = np.concatenate([cols[:17], cols[19:22], [cols[18]]])

或者您可以将cols保留为列表(不将其转换为numpy数组并使用列表添加):

cols = df.columns.tolist()
cols2 = cols[:17] + cols[19:22] + [cols[18]]