【发布时间】:2018-07-12 21:01:36
【问题描述】:
我真的很抱歉打扰,所以我希望这不是一个愚蠢或重复的问题。
我一直在抓取一个网站,将结果保存为 MongoDB 中的集合,将其导出为 JSON 文件并将其导入 MATLAB。
在故事的最后我得到了一个struct 组织的对象
like this one in the picture.
我感兴趣的是最后两个元胞数组(可以使用string() 轻松转换为字符串数组)。第一个元胞数组是 keys 的集合(想想独特的产品),第二个元胞数组是 values 的集合(想想价格),就像字典一样。每个字段都是一组此键的可能值的实例(想想每日价格)。我的目标是构建一个像这样制作的矩阵:
KEYS VALUES_OF_FIELD_1 VALUES_OF_FIELD2 ... VALUES_OF_FIELDn
A x x x
B x z NaN
C z x y
D NaN y x
E y x z
主要问题是,如图所示,正如我试图在示例矩阵中解释的那样,我并不总是对每个字段中的所有键都有一个值(如您所见,有时它们是 321,其他时候是 319 或 320 或 317),因此第一个数组中缺少键。在这种情况下,我应该用 NaN 填充缺失值。键可以按字母顺序排列并且都是唯一的。
您认为在 MATLAB 中解决此问题的最佳和最具可扩展性的方法是什么?
非常感谢您抽出宝贵时间,希望我能清楚地解释自己。
编辑: 在我的例子中,这两个数组都是由字符串组成的,所以类型不是问题(我已经修改了这个例子)。主要问题是,由于每个字段的键不同,首先我必须找到结构中的所有(唯一)键,以构建行,然后对于每一列(字段),我必须填充值,将 NaN钥匙丢失的地方。
【问题讨论】:
标签: matlab matrix data-structures data-science