如何在具有分层索引的熊猫数据框中添加和计算(基于其他列)子列?

安东内洛

我是熊猫的新手,我正在尝试掌握多指数数学。

假设我们有一个带有2D列和2D行的pandas数据框,如示例中所示,如何添加('ALPHA', 'gamma')值等于的“ sub-column” (same d1, same d2, 'ALPHA', 'alpha') + (same d1, d2-1, 'BETA', 'alpha')('A',2,'ALPHA','gamma')即10 + 2)?

ridx = pd.MultiIndex.from_tuples([('A',1),('A',2),('A',3),('B',1),('B',2),('B',3),('C',1),('C',2),('C',3)], names=['d1', 'd2'])
cidx = pd.MultiIndex.from_tuples([('ALPHA','alpha'),('ALPHA','beta'),('BETA','alpha'),('BETA','beta')], names=['d3', 'd4'])
dfmix = pd.DataFrame([(0,1,2,3),(10,11,12,13),(20,21,22,23),
                      (30,31,32,33),(40,41,42,43),(50,51,52,53),
                      (60,61,62,63),(70,71,72,73),(80,81,82,83),                     
                     ], index=ridx, columns=cidx)
dfmix 

数据框

BM

一班轮:

dfmix['ALPHA','gamma'] = dfmix['ALPHA','alpha']
                       + dfmix.groupby(level='d1').shift()['BETA','alpha']

pd.shift是根据需要对齐行的好工具。pd.groupby为组应用该操作之前的行。

为了

In [6]: dfmix.sort_index(axis=1)
Out[6]: 
d3    ALPHA            BETA     
d4    alpha beta gamma alpha beta
d1 d2                            
A  1      0    1   NaN     2    3
   2     10   11    12    12   13
   3     20   21    32    22   23
B  1     30   31   NaN    32   33
   2     40   41    72    42   43
   3     50   51    92    52   53
C  1     60   61   NaN    62   63
   2     70   71   132    72   73
   3     80   81   152    82   83

当然,如果数学公式没有意义,则您具有Nan值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从其他具有相似索引的数据框的列创建一个熊猫数据框

来自分类Dev

如何基于其他列的功能选择/添加列到熊猫数据框?

来自分类Dev

如何基于其他行值添加熊猫数据框列

来自分类Dev

如何基于熊猫数据框中的其他列值更新“余额”列

来自分类Dev

如何在具有两个条件的熊猫数据框中添加新列?

来自分类Dev

基于其他列条件和其他列计算的数据框新列值

来自分类Dev

如何基于熊猫数据框中的其他列进行组合

来自分类Dev

如何基于在熊猫数据框中具有NaN的现有列创建新列?

来自分类Dev

添加许多具有重叠索引和列的熊猫数据框

来自分类Dev

如何在Pandas数据框中的其他列中填充基于新列的值

来自分类Dev

根据数据框中的其他列,在具有多种条件的 Pandas 中添加列

来自分类Dev

熊猫:如何在数据框架中创建新列并考虑其他现有列在其中添加值

来自分类Dev

如何在满足条件的熊猫数据框中查找数据的索引和列?

来自分类Dev

如何基于其他数据框列替换熊猫列值

来自分类Dev

如何合并具有重复值和其他不同值的数据框列值?

来自分类Dev

Pandas Dataframe:如何在其他列中添加具有出现次数的列

来自分类Dev

如何在熊猫数据框中为索引和列的“交集”分配名称?

来自分类Dev

熊猫从数据框中的其他两个列变量计算新列

来自分类Dev

如何在熊猫数据框中仅获取具有给定值(或一组值)的行*和仅*列

来自分类Dev

根据共享索引将一列添加到其他数据框中的所有列

来自分类Dev

如何在熊猫数据框中添加两列?

来自分类Dev

如何在具有现有列的数据框中设置多级索引

来自分类Dev

基于具有相似数据的其他列的总和列

来自分类Dev

用其他列中的计算替换熊猫数据框中的NaN值

来自分类Dev

如何根据其他索引从其他数据框的列中获取值?

来自分类Dev

熊猫:添加带有其他列计算的列

来自分类Dev

基于列的熊猫数据框中的计数器/索引

来自分类Dev

如何在数据框的中间添加具有基于前一列的值的新列?

来自分类Dev

根据熊猫数据框中其他列的条件和值创建新列

Related 相关文章

  1. 1

    从其他具有相似索引的数据框的列创建一个熊猫数据框

  2. 2

    如何基于其他列的功能选择/添加列到熊猫数据框?

  3. 3

    如何基于其他行值添加熊猫数据框列

  4. 4

    如何基于熊猫数据框中的其他列值更新“余额”列

  5. 5

    如何在具有两个条件的熊猫数据框中添加新列?

  6. 6

    基于其他列条件和其他列计算的数据框新列值

  7. 7

    如何基于熊猫数据框中的其他列进行组合

  8. 8

    如何基于在熊猫数据框中具有NaN的现有列创建新列?

  9. 9

    添加许多具有重叠索引和列的熊猫数据框

  10. 10

    如何在Pandas数据框中的其他列中填充基于新列的值

  11. 11

    根据数据框中的其他列,在具有多种条件的 Pandas 中添加列

  12. 12

    熊猫:如何在数据框架中创建新列并考虑其他现有列在其中添加值

  13. 13

    如何在满足条件的熊猫数据框中查找数据的索引和列?

  14. 14

    如何基于其他数据框列替换熊猫列值

  15. 15

    如何合并具有重复值和其他不同值的数据框列值?

  16. 16

    Pandas Dataframe:如何在其他列中添加具有出现次数的列

  17. 17

    如何在熊猫数据框中为索引和列的“交集”分配名称?

  18. 18

    熊猫从数据框中的其他两个列变量计算新列

  19. 19

    如何在熊猫数据框中仅获取具有给定值(或一组值)的行*和仅*列

  20. 20

    根据共享索引将一列添加到其他数据框中的所有列

  21. 21

    如何在熊猫数据框中添加两列?

  22. 22

    如何在具有现有列的数据框中设置多级索引

  23. 23

    基于具有相似数据的其他列的总和列

  24. 24

    用其他列中的计算替换熊猫数据框中的NaN值

  25. 25

    如何根据其他索引从其他数据框的列中获取值?

  26. 26

    熊猫:添加带有其他列计算的列

  27. 27

    基于列的熊猫数据框中的计数器/索引

  28. 28

    如何在数据框的中间添加具有基于前一列的值的新列?

  29. 29

    根据熊猫数据框中其他列的条件和值创建新列

热门标签

归档