c = [] # 用于合并 for i in range(50): with open(r'E:\\a科研\\算法实现\\上海CEEMD-EMD分解结果\\(-)50第%d组emd分解结果.csv' % (i + 1), encoding='utf-8') as csvfile1: spamreader1 = csv.reader(csvfile1) data_x1 = [] for item in (spamreader1): data_x1.append(item) data_x1 = [[float(x) for x in row] for row in data_x1] data1= np.array(data_x1) with open(r'E:\\a科研\\算法实现\\上海CEEMD-EMD分解结果\\(+)50第%d组emd分解结果.csv'%(i+1),encoding='utf-8') as csvfile2: spamreader2 = csv.reader(csvfile2) data_x2 = [] for item in (spamreader2): data_x2.append(item) data_x2 = [[float(x) for x in row] for row in data_x2] data2 = np.array(data_x2) #输出每一组的IMF[j] a = np.random.random(data2) a是50组一行1944列的np.nadarry,想要对这50组np.nadarry,按列求均值,得到一行1944列的数据
时间: 2024-04-12 21:30:06 浏览: 59
要对50个np.ndarray进行按列求均值,你可以使用np.mean函数并指定axis=0。假设a是一个包含50个(1, 1944)形状的np.ndarray的列表,你可以尝试以下代码:
```python
import numpy as np
# 假设a是一个包含50个(1, 1944)形状的np.ndarray的列表
a = [np.random.random((1, 1944)) for _ in range(50)]
# 将列表转换为二维数组
a = np.concatenate(a, axis=0)
# 按列求均值
mean_array = np.mean(a, axis=0)
print(mean_array.shape) # 输出 (1944,)
```
这样,你将得到一个形状为(1, 1944)的均值数组mean_array。这个数组的每个元素是对应列的均值。如果你希望得到一个形状为(1944,)的数组,可以使用`.squeeze()`将数组的维度降为一维:
```python
mean_array = mean_array.squeeze()
print(mean_array.shape) # 输出 (1944,)
```
这样,你就得到了一个一行1944列的均值数组mean_array。
阅读全文