如何在J语言中实现类似NumPy的自动数组重塑(无需手动算行数)
J语言实现类似NumPy的自动维度重塑
在J语言中,你可以用下划线_替代需要自动计算的维度,作用和NumPy里的-1完全一致。
比如处理示例中的数组:
x =: 1 2 3 4 (_ 2) $ x
执行后会得到:
1 2 3 4
原理是J会根据数组总元素数和指定的其他维度大小,自动推导出下划线对应的维度值。只要总元素数能被指定维度的乘积整除,这种写法就能正常工作——比如这里数组长度是4,指定第二个维度为2,J会自动计算第一个维度为4 ÷ 2 = 2。
如果数组长度是6,想重塑为每行2个元素的二维数组,同样可以用(_ 2) $ x,会得到3行2列的结果。
内容的提问来源于stack exchange,提问作者Pig
相关产品推荐
相关产品推荐

