python - 如何从 n 维集合轻松创建 n-1 维集合?
问题描述
我使用 numpy 数组格式的数据,例如:
[[5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
[4.6 3.1 1.5 0.2]
......
[5.9 3. 5.1 1.8]]
我需要 n 个 n-1 维数组(其中 n 是维数),在这种情况下是四个 3 维数据集。
第一个集合:
[[3.5 1.4 0.2]
[3. 1.4 0.2]
[3.2 1.3 0.2]
[3.1 1.5 0.2]
......
[3. 5.1 1.8]]
第二集:
[[5.1 1.4 0.2]
[4.9 1.4 0.2]
[4.7 1.3 0.2]
[4.6 1.5 0.2]
......
[5.9 5.1 1.8]]
ETC
到现在为止,我一直使用numpy.hstack()函数,它需要元组形式的参数。我是这样做的:
a = []
for i in range (0.3):
a.append (tuple (map (tuple, D [:, i: i + 1])))
第一个集合:
numpy.hstack ([a[1], a[2], a[3])
第二套:
numpy.hstack ([a[0], a[2], a[3])
ETC
问题出现在具有更多维度的集合中 - 然后它们不能手动创建。我想在这样的循环中做到这一点:
dim = 4
flag = True
for k in range (0, dim-1):
b = []
for l in range (0, dim-1):
if l! = k:
if flag:
b = a[l]
flag = False
else:
b = numpy.hstack ([b, a[l]])
不幸的是,hstack() 函数需要具有相同维数的文件,所以我不能将 2d 集与 1d 等结合起来。有谁知道如何从 n 维集轻松创建 n-1 维集合?
解决方案
推荐阅读
- javascript - 如何更新 React 中的元素列表
- jenkins - 解除工作人员 RAM 内存限制
- python - Python Selenium 刮取 USPS
- r - R4.0.0 中 RStudio Server 和 Shiny Server 中的 OpenStreetMaps 自动绘图错误
- ios - UICollectionViewCell -- 使 selectedBackgroundView 比单元格本身大
- java - Google 将 api PopularTimes 放在 java 上
- javascript - 为什么mapcentercoord不显示值?
- python - 检查两个列表成员的总和是否可以在另一个列表中找到
- javascript - 获得最后一个星期一
- javascript - Windows.open 将 url 附加到我当前的页面 url