【问题标题】:how can I get return the data in nested for python [closed]我怎样才能返回嵌套的python数据[关闭]
【发布时间】:2016-08-01 02:10:03
【问题描述】:

对于下面的代码,我想知道如何让datascikit 中使用机器学习进行操作。 我的意思是在没有 for 的情况下调用数据,就像 print(data) 显示数据一样。

x = np.random.uniform(0,9,size = 100)
y = np.random.uniform(0,9, size = 100)

c = len(x)
v = len(y)

for a in range(c):  
    for b in range(v):
        data = [x[a],y[b]]

【问题讨论】:

  • 不清楚,你的代码想要实现什么。您的循环是不必要的,因为data 将是两个元素的列表(分别是xy 的最后一个元素)。您是否正在寻找类似data = list(zip(x,y))(甚至data = list(itertools.product(x,y)),即((a,b) for a in x for b in y))的东西?
  • 我认为 OP 不知道如何将这些数据转移到他的 scikit 设置中。所以请与我们分享更多。接下来是什么操作,您要提供数据的scikit 函数的签名是什么?
  • 我会将 x 和 y 返回到 2D 模型中。 ex x = [1,2,3] 和 y = [2,3,4] 并将其合并为 data = [ [1,2], [2,3], [3,4] ]。在我的代码中,我想将 x 和 y 从随机生成器合并到数据,并访问它。下一步我将为 Kmeans 尝试它。这是我的下一个代码 kmeans = KMeans(n_clusters = 1) kmeans.fit() centroids = kmeans.cluster_centers_labels = kmeans.labels_ print(centroids) print(labels)

标签: python python-3.x numpy scikits


【解决方案1】:

不要在 for 循环中迭代,而是使用 numpy 的内置连接方法。解决您的问题的捷径是使用np.c_:

>>> x = np.random.uniform(0,9,size = 10)
>>> y = np.random.uniform(0,9, size = 10)
>>> data = np.c_[x, y]
>>> print(data)
[[ 4.17625287  0.65042586]
 [ 0.86363075  5.76803241]
 [ 5.60804861  4.53155782]
 [ 5.09218028  2.21632802]
 [ 6.78485295  2.22956468]
 [ 4.02404425  0.34639777]
 [ 6.40337929  6.98969517]
 [ 3.79826214  1.29557794]
 [ 5.75174741  6.31052599]
 [ 0.15683548  3.71585267]]

xyN 大小一维向量)连接成一个Nx2 数组。

【讨论】:

  • 好的,谢谢,我试试
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多