问题标签 [n-dimensional]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何让 Numpy 将每一行/张量视为一个值
许多函数都喜欢in1d
和setdiff1d
专为一维数组而设计。将这些方法应用于 N 维数组的一种解决方法是numpy
将每一行(更高维的)视为一个值。
我发现这样做的一种方法是在这个答案Get intersecting rows across two 2D numpy arrays by Joe Kington。
以下代码取自此答案。Joe Kington 面临的任务是A
在B
尝试使用in1d
.
我希望你能帮助我解决以下三个问题中的任何一个。首先,我不了解这种方法背后的机制。你能试着向我解释一下吗?
其次,还有其他方法可以让 numpy 将子数组视为一个对象吗?
还有一个悬而未决的问题:Joe 的方法有什么缺点吗?我的意思是将行视为一个值是否会导致一些问题?对不起,这个问题相当广泛。
arrays - 创建可自定义的 n 维数组
这是两个问题之一;如果我应该拆分它们,请告诉我。
我有一个人力资源数据电子表格,我将把它切割成不同的横截面。每行当前代表一个员工,该特定报告的年份(例如,在三年期间,员工将出现 3 次,并且一列包括该行所指的年份)和一系列其他特征。此外,我添加了一个字段,显示该员工在该期间代表多少 FTE,代表该员工面临风险。
为了将其与其他数据结合起来,我正在尝试做的是创建一个 n 维数组,其中每个点代表与维度匹配的总风险敞口。在我使用的示例中,维度是年份、公司 [有一对]、年龄范围、性别、部门、任期范围。
为此,在其他代码中,我编写了以下代码:
有两个主要问题。
Names <- lapply(HR[FactorNames], function(x)sort(unique(x)))
不正确,因为lapply(HR[FactorNames], function(x)sort(unique(x)))
将唯一值作为单个组合元素而不是向量返回。这意味着我的for
循环的内容会抛出错误Error in Names[1, Year] : incorrect number of dimensions
。- 我的同心
for
环不可能接近填充阵列的最佳方式,我想知道是否有人知道是什么。
你会推荐什么?
c - 在 C 中,如何编写一个 N 维嵌套 for 循环,其中 N 是可变的
我需要写下声明:
怎么做?
matlab - 在 Matlab 中对 N 维数据进行离散化/分箱以实现可视化
这个真的让我头疼……
我有一个数据集,由X组粒子组成,每组粒子都有一些特定于组的属性。这些组中的每一个都包含一定数量的具有给定速度分布的粒子,并且每个粒子都沿某个方向飞行。我正在跟踪粒子的位置作为时间的函数。现在,我想从这些数据中进行一些有意义的可视化。
为简单起见,我们假设速度已被划分为N个 bin,并且每个速度 bin 的粒子数始终相同。此外,假设我只查看原点的绝对距离(即位置变为单个值)。
我将这个简化案例的位置数据存储在 3D 数组 ( T x N x X )中的T个时间步长。我已经离散化了我的位置数据,以便所有值现在都是等距网格上的点。现在,我希望使用 eg或来可视化,例如在给定时间每个位置的粒子总数。hist3
surf
基本上,我要做的就是计算每个时间步的每个离散位置的出现次数。虽然我可以简单地遍历时间步来计算我的计数,但我希望有一个更优雅的解决方案来解决这个问题!
c++ - 对来自 csv 文件的数据执行 OpenCV k-means
我正在尝试从 csv 文件中读取时间序列。
每行包含 256 个(将来可能会有所不同)元素,我想将其作为 256 维空间中的一个点来处理。
然后我想对其执行 k-means-clustering 以找到描述数据的最重要的 k 个时间序列。
我目前正在阅读 csv 文件,将每一行存储在
然后最终有一个
然后我正在转换为
通过使用循环遍历向量
这给我留下了具有以下属性的 cv::Mat:
然后我按如下方式执行 k-means 聚类:
在我的理解中,应该用每个集群的中心值填充中心,给我留下 ak*n 矩阵(在本例中为 256*256)。
但是,当我打电话时
我收到此通用错误消息:
在 Project1.exe 中的 0x00007FF806C86020 (opencv_world341.dll) 处引发异常:0xC0000005:访问冲突读取位置 0x0000024B9ECAFC80。
程序此时的中心属性是:
所以看起来中心是NULL。因此,可能输入data_mat的形状错误,因此kmeans()没有将任何内容输出到中心,但是我再次没有收到kmeans()的任何错误消息
非常感谢您的努力和帮助,
蒂莫
编辑1:错误发生在kmeans()内部,因为
cout 没有打印到控制台。然而,错误的行号是 kmeans()+1,所以我只是通过在那里放置一个通用 cout 才发现这一点。
go - 在函数中处理 N 维切片
我正在尝试用 golang 编写一些机器学习代码。我想不出一种方法让函数处理 N 维的切片,因为不同的维度需要返回不同的类型。这是一个将 2d 切片拆分为测试/训练集的示例函数。
在 python 中,我不需要担心数组的维度。有没有“golang”的方式来处理这个问题?
编辑:我知道 golang 中没有泛型。我的问题更多是关于泛型之外的解决方案,例如公认的答案所指向的。
python - 使用 N "[]" 自动访问 array[][]...[] 元素
首先,如果已经问过这个问题,我深表歉意。我已经搜索过了,但什么也没找到。
给定以下代码:
RHO 是一个 D 维数组,大小为 nbInter。(RHOarray 是一个创建这样一个数组的函数)。问题是,根据 D 的值,如果 D = 1,我需要访问 RHO[n],如果 D = 2,我需要访问 RHO[n][m] ... RHO[n][m]...[whatever指数] 随着 D 的增加。每个索引实际上都是 Coord[0]、Coord[1]... 等等,所以我知道我必须在每个索引中添加什么。为了使问题“更简单”:我怎样才能这样做,RHO 之后的“[...]”数量与 D 一样多?
我希望我已经清楚了。我是法国人,即使用我的母语解释起来仍然很棘手。提前致谢
ps 初始代码较长,但我认为没有必要完全展示它。
python - 处理 N 个空间和 M 个测量维度的 Python 图像过滤器
简而言之:
我正在寻找一种方法来计算 python 中多个值轴上的多维自定义图像过滤器。
我的意思是:
使用 scipy 的 ndimage,我可以使用 ndimage.generic_filter 将自定义函数 myfunc 应用于 N 维 numpy 数组。在 myfunc 中,我只需要说明如何处理传递给函数的形状 (size[0],…,size[N-1]) 的像素邻域。
与此略有不同,我想做的是提供一个形状数组(S1,…,SN,V1,…VM)并仅沿空间维度应用过滤器,并将剩余的 M 轴解释为值轴。然后,要处理的像素邻域的形状为 (size[0],...,size[N-1],V1,...,VM)。
到目前为止,我对这种过滤器有自己的相对幼稚的实现,但是最好有一个处理一般情况和处理边界效果的版本。
非常感谢您的提示或想法!干杯
python - Python Numpy - 没有循环的二维数组中的 3 维索引
我想使用具有相同形状的索引数组构造一个形状的数组V1
,应用于形状的数组。用循环构造它的方法如下。(n,p,q)
idx
V0
(p,q)
换句话说,idx[i,:,:]
数组包含 的第 1 维元素的索引V0
。我将它与在 中捕获的第二维的关联索引一起应用range(q)
,以获取沿最终数组的第一个维度的相应元素V1
。
我的问题如下:有没有一种方法可以V1
通过使用广播/索引技术来构建而不循环?
谢谢你。
python - 为 n 维数组推广 Cython 代码
我正在编写很多需要泛化到n维的 Cython 代码(大多数情况下这将是n = 1、2 或 3)。
以下面的代码为例,这是对元素的简单求和。
从概念上讲,对n维的泛化是非常明显的。但是,我似乎无法在代码中实现它。我讨厌必须为n = 1,2,3 的每种情况复制此代码,...
一般来说,我还需要能够访问每个维度中每个数组元素的邻居(想想n维内核卷积等),这使得像展平数组这样的事情变得不可行。
我的主要问题是:
如何告诉 Cython 期望具有任意维度的数组作为输入?我想我可能不得不求助于
np.ndarray
这里......给定n 个索引的数组,如何从n维数组中获取元素?
如何概括n嵌套循环的构造?递归在这里似乎是不可避免的,但是我如何才能以这种方式访问所有n索引?