我正在尝试学习Gradient从互联网下降,在代码中它有类似的东西。
for i in range(len(points)):
x = points[i].x
y = points[i].y
但是,我通过
生成我自己的数据集x = np.random.randint(10000, size=100000000)
y = x * 0.10
如何使用points
和x
创建y
以符合代码?
答案 0 :(得分:3)
使用此:
x = np.random.randint(10000, size=100000000)
y = x * 0.10
np.column_stack((x,y))
这将使用numpy优化速度。更多here
并将代码更改为此
for i in range(len(points)):
x = points[i][0]
y = points[i][1]
如果您希望.x
,.y
能够正常工作:
使用课程:
class point:
def __init__(self,x,y):
self.x=x
self.y=y
#[OR]
import collections
Point = collections.namedtuple('Point', ['x', 'y'])
#and then
for i in range(len(x)):
points.append(point(x[i],y[i]))
这会执行较慢的
答案 1 :(得分:0)
我猜它是一堂课。您可以按如下方式创建一个虚拟课程
import numpy as np
class p:
def __init__(self,x,y):
self.x=x
self.y=y
points = []
x = np.random.randint(10000, size=100000000)
y = x * 0.10
for i in range(len(x)):
points.append(p(x[i],y[i]))
for i in range(len(points)):
x = points[i].x
y = points[i].y
但这可能效率很低。但是如果你想让相同的界面工作,这应该足够了。