python - 规范化多维数组
问题描述
我有一个5x600x16数组,下面显示了一个较小的类似数组的示例。我需要对每个切片中的列值进行标准化(总共 5 个)。
tensor([[[9.9771e-01, 6.6219e-02, 8.6409e-03, 1.1918e-05, 2.3837e-05],
[9.9771e-01, 6.6219e-02, 8.6409e-03, 1.1918e-05, 2.3837e-05]],
[[9.9525e-01, 9.6969e-02, 7.5091e-03, 1.0301e-05, 3.0902e-05],
[9.9802e-01, 6.2234e-02, 7.8646e-04, 2.0696e-05, 1.0348e-05]],
[[9.7093e-01, 2.3617e-01, 3.2587e-02, 0.0000e+00, 0.0000e+00],
[9.7418e-01, 2.2391e-01, 5.7788e-03, 6.0829e-05, 9.1244e-05]],
[[9.9781e-01, 6.4524e-02, 1.8817e-03, 1.8268e-05, 0.0000e+00],
[9.9153e-01, 1.2825e-01, 1.0527e-02, 0.0000e+00, 3.8630e-05]]])
出于这个问题的目的,让我们考虑数组
a = np.array([[[10, 100, 1], [5, 50, .5]], [[10, 1000, 10], [10, 1, 20]]])
我尝试使用normalize
from PyTorch
,但没有成功
>>>f.normalize(torch.from_numpy(a), p=2, dim=2)
tensor([[[0.0995, 0.9950, 0.0099],
[0.0995, 0.9950, 0.0099]],
[[0.0100, 0.9999, 0.0100],
[0.4468, 0.0447, 0.8935]]], dtype=torch.float64)
和我创建的一个简单函数,取得了更大的成功
def normalize(data):
return (data - data.mean()) / (data.max() - data.min())
我通过每个a[...]
切片,然后stack
再次将结果放在一起。
有没有更好的方法可以按照我描述的方式正确规范化我的数据?
解决方案
尝试这个:
import pandas as pd
x =[[[9.9771e-01, 6.6219e-02, 8.6409e-03, 1.1918e-05, 2.3837e-05],
[9.9771e-01, 6.6219e-02, 8.6409e-03, 1.1918e-05, 2.3837e-05]],
[[9.9525e-01, 9.6969e-02, 7.5091e-03, 1.0301e-05, 3.0902e-05],
[9.9802e-01, 6.2234e-02, 7.8646e-04, 2.0696e-05, 1.0348e-05]],
[[9.7093e-01, 2.3617e-01, 3.2587e-02, 0.0000e+00, 0.0000e+00],
[9.7418e-01, 2.2391e-01, 5.7788e-03, 6.0829e-05, 9.1244e-05]],
[[9.9781e-01, 6.4524e-02, 1.8817e-03, 1.8268e-05, 0.0000e+00],
[9.9153e-01, 1.2825e-01, 1.0527e-02, 0.0000e+00, 3.8630e-05]]]
for b in x:
df = pd.DataFrame(b).transpose()
normalized_df=(df-df.min())/(df.max()-df.min())
print(normalized_df)
推荐阅读
- python - 无法导入 pyautogui,因为“源代码不能包含空字节。”
- python - Pytorch问题将代码从mac移植到windows
- javascript - 使用控制器中的字符串 [] 数组值设置 Javascript var
- typescript-typings - 在需要函数的地方,打字稿允许我传递具有不兼容的“应用”属性的对象
- excel - 使用 vb.net 在 excel 中更改一些具有激活过滤器方法的单元格值
- c - 使用 recv() 接收 uint32 网络字节顺序号有时有效,而其他无效(使用相同的命令)
- python-3.x - 如何在 Travis CI 上构建 Python 3.8?
- amazon-ec2 - 哪个 URL 用于 ELB 后面的 EC2 实例上的 Websocket 服务器
- javascript - 是否需要在类构造函数中声明所有成员
- mysql - 如何根据以前的值更新列?