Current python for loop not efficent I have the following working code

import numpy as np
r = np.loadtxt('CoordUnwrapped/ParticleCoordU.5000',skiprows=9,usecols = (4,5,6))
rcom = np.loadtxt('hexaCOM/COMA/COMA.5000',skiprows=10,usecols = (4,5,6))
N = 50 

Sx1= []
Sx2 = []
Sx3 = []
for i in range(0,N):
    S_data_1 = (r[i,0]-rcom[0,0])**2)
    S_data_2 = (r[i+N,0]-rcom[1,0])**2)
    S_data_3 = (r[i+2*N,0]-rcom[2,0])**2)
    Sx1.append(S_data_1)
    Sx2.append(S_data_2)
    Sx3.append(S_data_3)

data = np.array([Sx1,Sx2,Sx3])

x = np.average(data, axis=0)


The problem that I'm facing is that I am looking to obtain 400 Sx vectors and with this format it is not really feasible. Just to be clear this is a snapshot of what I am looking to get at the end:

N = 50 

Sx1= []
Sx2 = []
Sx3 = []
.
.
.
Sx400 = []

for i in range(0,N):
    S_data_1 = (r[i,0]-rcom[0,0])**2)
    S_data_2 = (r[i+N,0]-rcom[1,0])**2)
    S_data_3 = (r[i+2*N,0]-rcom[2,0])**2)
    .
    .
    .
    S_data_400 = (r[i+399*N,0]-rcom[399,0]**2)
    Sx1.append(S_data_1)
    Sx2.append(S_data_2)
    Sx3.append(S_data_3)

data = np.array([Sx1,Sx2,Sx3,...,Sx400])

x = np.average(data, axis=0)


As you can see this approach is too time consuming and not efficient at all. Any suggestions would be great. Thank you!
There isn't any need to name all your Sx variables and copy+paste the code to build each one; just build them in another loop.  You can do both loops as list comprehensions very concisely:

data = np.array([
    [(r[i+s*N, 0] - rcom[s, 0])**2 for i in range(N)]    
    for s in range(400)
])