【发布时间】:2020-09-01 00:08:57
【问题描述】:
所以我想编写一个函数,对数组中的每个元素执行 z-score 转换,并且该函数应该返回一个结果数组。当我使用 for 循环对数组中的每个元素执行转换时,这不是问题。
x1 = np.array([[4,3,12],[1,5,20],[1,2,3],[10,20,40],[7,2,44]])
mean = np.average(x1)
std = np.std(x1)
for i in x1:
arr1 = ((i-mean)/std)
print(arr1)
type(arr1)
但是,当我对数组的第 1 列使用 for 循环时,我得到了 float 值。
for x in x1[:,1]:
arr2 = ((i-mean)/std)
print(arr2)
type(arr2)
【问题讨论】:
-
请避免在 SO 上发布图片,而是在此处发布代码/数据本身。谢谢。
-
您的意思是分别计算列/行的平均值和平均值吗?我不清楚这个问题。也许你可以详细说明一下。谢谢
-
感谢 Ehsan 的回复,我也发布了代码。不,我只想检索“转换后的”列/行,而不是分别计算列和行的平均值。
-
发布的答案是否解决了问题?如果没有,您能否向我们提供您想要的输出?
标签: python arrays numpy numpy-ndarray