我希望构造我的数据(类似于pandas),以允许轻松地进行数据探索。我尝试使用xarray.DataArray来完成这个任务(推荐使用pandas http://pandas.pydata.org/pandas-docs/stable/dsintro.html#panel4d-and-panelnd-deprecated表示n维数据的方法),但考虑到数据稀疏,它看起来效率很低。是否有更好的方法将我的数据以xarray.DataArray 或另一种数据结构来进行轻松的数据探索?
对数据的描述
我的数据包括给病人的处方。每个条目包括:
对于不同的病人,一次约会可能会有几种处方。病人还可以同时服用几种药物(如2-3种药物),同时服用“强制性”剂量和“可选/视需要”剂量。我的数据集目前包括397个不同的病人,1520个不同的日期和161种不同的药物。在397*1520*161*2项中,我只有21790个非空项(即0.01%)。
初始代码
我的数据目前组织为以下xarray.DataArray
drugs = xarray.DataArray(dosages, coords={'patient': patients, 'time': dates,
'drug': drug_names, 'timing': timings,
'drug_type': ('drug', drug_types),
'drug_class': ('drug', drug_classes)},
dims=['patient', 'time', 'drug', 'timing'])在哪里dosages.shape = (len(patients), len(dates), len(drug_names), 2)。timing轴对应于“计划”和“需要时”的剂量。所有缺失/零项都设置为numpy.nan。
发布于 2018-04-05 15:05:21
目前(版本为0.10.2) xarray只支持密集数组,但是存在一个https://github.com/pydata/xarray/issues/1375问题,请求稀疏数组支持。对该问题的快速检查表明,通过启用xarray支持稀疏模块,正在积极开展这项工作。
https://stackoverflow.com/questions/49122420
复制相似问题