【问题标题】:how to add mean of 2D array as list elements in python如何在python中添加二维数组的平均值作为列表元素
【发布时间】:2018-02-17 13:05:15
【问题描述】:
clus = np.asarray(clus)
cens[0] = np.mean(clus, axis=0, dtype=np.float32)
#

clus1、clus2、clus3 是二维坐标数组。 我认为它可以通过调用numpy.mean并将axis设置为0来分别计算x轴和y轴的平均值,然后返回我[x,y]。 (https://docs.scipy.org/doc/numpy/reference/generated/numpy.mean.html)

但是我失败了,得到了下面的错误。

[TypeError: cannot preform reduce with flexible type][1]

我该如何解决?或者错误是什么意思?

谢谢

#

更新 2017.9.9

clus1,2,3 是这样从 csv 文件中读取的列表

98,157
101,130
206,218
158,162
189,237
212,186
63,35
196,188
185,176

然后像这样阅读

with open('clus_1.csv', 'rb') as c1:
    rc1 = csv.reader(c1)
    list_c1 = list(rc1)

clus.append(list_c1)

【问题讨论】:

  • 您能否提供一个包含 clus1、clus2 或 clus3 的虚拟示例?它们包含的类型似乎有问题
  • 更新了资料,谢谢
  • 你应该将这段代码提炼成一个单一的、直接的可执行脚本,我们可以复制/粘贴并运行它。如果您可以使用单个数组重现问题,请删除所有内容的所有三重副本。
  • 蒸馏。我发现错误是我从 csv 文件中读取的是字符串而不是整数

标签: python arrays numpy multidimensional-array k-means


【解决方案1】:

我从 csv 文件中读取的不是整数而是字符串。 在下面添加代码可以解决它

clus = clus.astype(np.float32)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多