Python 取numpy数组中列的平均值

Python 取numpy数组中列的平均值,python,arrays,numpy,Python,Arrays,Numpy,我使用numpy从csv文件中获取数据。numpy数组的维数为:100*20。如何取列的平均值(例如列3,5,8)并用包含这3列平均值的新列替换它们 如果 然后我想删除这3列并插入一个新列,其中每个条目包含这3列中的平均值 我想插入一个新列:2,3,4,6,删除前面的3列,并将最终数组的维数设置为100*28 是否有任何numpy函数来执行此操作?对于轴为0的列,因此: a = np.arange(100*30).reshape(100,30) # change this to your own

我使用numpy从csv文件中获取数据。numpy数组的维数为:100*20。如何取列的平均值(例如列3,5,8)并用包含这3列平均值的新列替换它们

如果

然后我想删除这3列并插入一个新列,其中每个条目包含这3列中的平均值

我想插入一个新列:2,3,4,6,删除前面的3列,并将最终数组的维数设置为100*28


是否有任何numpy函数来执行此操作?

对于轴为0的列,因此:

a = np.arange(100*30).reshape(100,30) # change this to your own data
cols = [2, 4, 7]                      # columns to calculate averages, i.e. 3,5,8
b = a[:, cols]                        # data of the cols
c = b.mean(axis=1)                    # average
a_no_b = np.delete(a, cols, axis=1)   # data without the cols
a_final = np.c_[a_no_b, c]            # final result
X = np.random.randint(0,101,shape=(100,50))
columns_average = X.mean(axis=0)

得到1D数组“columns\u average”,每列的平均值为50

不清楚的事情-1)我们是如何得到
28
cols的?2)
删除前3列中的“previous”是指什么?3) 在何处插入新列?我之前有30个col,我取col3,5,8的平均值并存储它们,然后删除这3个col,所以col现在是27。现在插入取平均值的列。因此,total cols=28您应该提供一个(1)OP已请求特定列的平均值(2)轴为
axis=0
,您将得到跨行的平均值,而不是跨列的平均值
X = np.random.randint(0,101,shape=(100,50))
columns_average = X.mean(axis=0)