具有时间序列的高维数据

时间:2018-05-08 05:17:35

标签: pandas

我正在尝试制作一个pandas数据帧来保存我的实验数据。数据如下所述:

我有~300个人参加了由~200个试验组成的实验,其中每个试验都有许多实验控制的参数(~10个参数)。对于每个试验和每个人,我都有一些测量的时间序列,即30个时间点。

将此数据构建到数据框架的最佳方法是什么?我需要能够做一些事情,例如在所有具有特定参数的试验中,在某个时间获得每个人的实验值,或者获得特定时间的平均值和单个试验的等等。基本上我需要是能够以最可想到的方式切割这些数据。

谢谢!

编辑:如果您想查看我目前的数据,请向下滚动到此笔记本中的最后3个单元格:https://drive.google.com/file/d/1UZG_S2fg4MzaED8cLwE-nKHG0SHqevUr/view?usp=sharing

数据变量包含每个试验的所有参数,interp_traces变量是每个时间点,个体和试验的时间序列测量数组。

如果可能的话,我想把所有东西放在一件事上。多指数看起来很有希望。

1 个答案:

答案 0 :(得分:0)

我认为需要MultiIndex

<强>示例

individuals = list('ABCD')
trials = list('ab')
par = list('xyz')

dates = pd.date_range('2018-01-01', periods=5)
n = ['ind','trials','pars']
mux = pd.MultiIndex.from_product([individuals, trials, par], names=n)

df = pd.DataFrame(index=mux, columns=dates)
print (df)
                2018-01-01 2018-01-02 2018-01-03 2018-01-04 2018-01-05
ind trials pars                                                       
A   a      x           NaN        NaN        NaN        NaN        NaN
           y           NaN        NaN        NaN        NaN        NaN
           z           NaN        NaN        NaN        NaN        NaN
    b      x           NaN        NaN        NaN        NaN        NaN
           y           NaN        NaN        NaN        NaN        NaN
           z           NaN        NaN        NaN        NaN        NaN
B   a      x           NaN        NaN        NaN        NaN        NaN
           y           NaN        NaN        NaN        NaN        NaN
           z           NaN        NaN        NaN        NaN        NaN
    b      x           NaN        NaN        NaN        NaN        NaN
           y           NaN        NaN        NaN        NaN        NaN
           z           NaN        NaN        NaN        NaN        NaN
C   a      x           NaN        NaN        NaN        NaN        NaN
           y           NaN        NaN        NaN        NaN        NaN
           z           NaN        NaN        NaN        NaN        NaN
    b      x           NaN        NaN        NaN        NaN        NaN
           y           NaN        NaN        NaN        NaN        NaN
           z           NaN        NaN        NaN        NaN        NaN
D   a      x           NaN        NaN        NaN        NaN        NaN
           y           NaN        NaN        NaN        NaN        NaN
           z           NaN        NaN        NaN        NaN        NaN
    b      x           NaN        NaN        NaN        NaN        NaN
           y           NaN        NaN        NaN        NaN        NaN
           z           NaN        NaN        NaN        NaN        NaN