适用于组复制完整的MultiIndex

时间:2012-12-18 06:08:06

标签: pandas

我有以下问题 - 计算的输出给了我两个atomic_number字段:

In [7]: partition_functions
Out[7]: 
atomic_number  ion_number
14             0             11.291802
               1              5.866805
               2              1.004422
               3              2.000202
26             0             59.650557
               1             66.895978
               2             28.186253
               3              6.569105

In [8]: def group_func(group):
    return group[1:]/group[:-1].values
   ...: 

In [9]: partition_functions.groupby(level='atomic_number').apply(group_func)
Out[9]: 
atomic_number  atomic_number  ion_number
14             14             1             0.519563
                              2             0.171204
                              3             1.991397
26             26             1             1.121464
                              2             0.421345
                              3             0.233061

我尝试了几件事 - 包括制作新系列,但没有任何效果。

提前感谢您的帮助

1 个答案:

答案 0 :(得分:2)

怎么样:

def group_func(group):
    return (group / group.shift(1))

partition_functions.groupby(level='atomic_number').apply(group_func).dropna()

结果是:

                            values
atomic_number ion_number          
14            1           0.519563
              2           0.171204
              3           1.991396
26            1           1.121464
              2           0.421345
              3           0.233061