我有一个数据集,它包含了几个不同主题的X,Y坐标。从1到n,每一个都有一个单独的XY。我将所有X和Y坐标附加到名为plot
的单独列表中。所以一个列表是X的,一个是Y的。你知道吗
示例输入(3个主题):
Subject 1_X Subject 1_Y Subject 2_X Subject 2_Y Subject 3_X Subject 3_Y
11 45 34 67 8 26
12 46 33 65 7 25
输出示例:
plot[0] = [[11,34,8],[12,33,7]] #X's
plot[1] = [[45,67,26],[46,65,25]] #Y's
在此之前,当X值低于某个阈值(本例中为10)时,我希望同时移除X和相应的Y。下面的输出示例:(主题3已删除)
plot[0] = [[11,34],[12,33]] #X's
plot[1] = [[45,67],[46,65]] #Y's
此过程在此处复制:
data = [random.sample(range(80), 40) for _ in range(75000)] #Similar size and format
plot = [[],[]]
n = 0
for row in data :
if n == 0 :
n+=1
continue
x_data = []
y_data = []
for (x,y) in [(0,1),(2,3), (4,5), (6,7), (8,9), (10,11), (12,13), (14,15), (16,17), (18,19), (20,21), (22,23), (24,25), (26,27), (28,29), (30,31), (32,33), (34,35), (36,37), (38,39)] :
xcoord = float(row[x])
ycoord = float(row[y])
if xcoord >= 10 :
x_data.append(xcoord)
y_data.append(ycoord)
plot[0].append(x_data)
plot[1].append(y_data)
这样做的工作,但我使用这些列表来创建一个动画散点图。非常慢。你知道吗
如果我删除了消除值< 10
的函数并细化重复项,它的执行速度会更快。你知道吗
n=0
for row in data :
if n == 0 :
n+=1
continue
plot[0].append(list(map(float, row[1:41][::2])))
plot[1].append(list(map(float, row[0:40][::2])))
有没有更快、更有效的方法来更快地迭代和删除特定值?你知道吗
我曾尝试从每个源中逐个删除值,然后在最后追加,但这比我目前的效率更低。你知道吗
使用以下方法调用散布:
scatter = ax.scatter(plot[0][0], plot[1][0], c=['blue'])
通过以下方式调用动画:
def animate(i) :
scatter.set_offsets.([[plot[0][0+i][0], plot[1][0+i][0]]])
在这种情况下,最好使用
numpy
, 因为如果我理解正确,您的代码可以简化为:相关问题 更多 >
编程相关推荐