用Python建模4-D数据(带时间戳)

用Python建模4-D数据(带时间戳),python,pandas,schema,data-modeling,python-xarray,Python,Pandas,Schema,Data Modeling,Python Xarray,我拥有的数据是从现在开始的特定日期的投影(或与未来的特定日期相关),并且有一对投影(x,y)。总之,我有(x,y,n)=(x,y,z)或三维数据 现在,我还有历史测量。y维度具有“深度”,但x是固定的。所以我有(x,y,z,t)其中t是datetime.datetime对象 我的实际数据目前为: data = [(x, [(y0, t0),(y1, t1),(y2, t2),...,(yn,tn), z] 我的问题:(1)python中是否有一种自然的方式来存储这种格式的数据?或者,(2)是否

我拥有的数据是从现在开始的特定日期的投影(或与未来的特定日期相关),并且有一对投影(x,y)。总之,我有
(x,y,n)=(x,y,z)
或三维数据

现在,我还有历史测量。
y
维度具有“深度”,但x是固定的。所以我有
(x,y,z,t)
其中
t
datetime.datetime
对象

我的实际数据目前为:

data = [(x, [(y0, t0),(y1, t1),(y2, t2),...,(yn,tn), z]

我的问题:(1)python中是否有一种自然的方式来存储这种格式的数据?或者,(2)是否过度工程化了问题,这种类型的数据存储有一个自然的数据库解决方案?

使用pd.MULTINDEX来表示各种维度

data = [('x', [('y0', 't0'), ('y1', 't1'), ('y2', 't2'), ('yn', 'tn')], 'z')]
d = [[x, y, z, t] for x, ys_ts, z in data for y, t in ys_ts]
d

[['x', 'y0', 'z', 't0'],
 ['x', 'y1', 'z', 't1'],
 ['x', 'y2', 'z', 't2'],
 ['x', 'yn', 'z', 'tn']]
然后生成一个数据帧

df = pd.DataFrame(d, columns=list('xyzt')).set_index(list('xzt')).y.unstack()
df

t    t0  t1  t2  tn
x z                
x z  y0  y1  y2  yn