如何将形状为(22,1)的数组转换为形状为(24,1)的数组?我该如何填补这些缺失的价值?
即My array with shape (22,1).
array([[365.],
[173.],
[389.],
[173.],
[342.],
[173.],
[294.],
[165.],
[246.],
[142.],
[254.],
[142.],
[357.],
[260.],
[389.],
[339.],
[389.],
[339.],
[381.],
[410.],
[381.],
[410.]])
我如何用平均值填充两个缺失的数?此外,如果我有一个形状为(19,1)的数组,我能填充到形状为(24,1)吗?
您可以使用pad()函数:
import numpy as np
A = np.array([[365.],
[173.],
[389.],
[173.],
[342.],
[173.],
[294.],
[165.],
[246.],
[142.],
[254.],
[142.],
[357.],
[260.],
[389.],
[339.],
[389.],
[339.],
[381.],
[410.],
[381.],
[410.]])
…
B = np.pad(A,((0,24-A.shape[0]),(0,0)),'mean')
print(B)
[[365. ]
[173. ]
[389. ]
[173. ]
[342. ]
[173. ]
[294. ]
[165. ]
[246. ]
[142. ]
[254. ]
[142. ]
[357. ]
[260. ]
[389. ]
[339. ]
[389. ]
[339. ]
[381. ]
[410. ]
[381. ]
[410. ]
[296.04545455]
[296.04545455]]
使用a.mean()
作为平均值,然后使用concatenate
:
np.concatenate((a,[[a.mean()]] * (24-len(a))))