猿问

使用熊猫数据框,如何按多列分组并添加新列

我在使用 Pandas 数据框方面比较新,并且有一个分组问题:我想为前 3 列中具有相同值的所有行分组一个 6 列数据框,然后我想添加一个具有值的新列最后一列,其中第 4 列的值 = 0。


因此,原始数据框如下所示:


          A         B     C  D           E   F    G

 0    11018  20190102     0  0  1546387200  37   34

 1    11018  20190102     0  1  1546390800  33   36

 2    11018  20190102     0  2  1546394400  19   19

 3    11018  20190102     0  3  1546398000  17   26

 4    11018  20190102     0  4  1546401600  16   26

 5    11018  20190102     0  5  1546405200  13   23

 6    11018  20190102     0  6  1546408800  11   15

 7    11018  20190102  1200  0  1546430400  25   24

 8    11018  20190102  1200  1  1546434000  21    3

 9    11018  20190102  1200  2  1546437600  13    4

 10   11018  20190102  1200  3  1546441200   7    3

 11   11018  20190102  1200  4  1546444800   2    1

 12   11018  20190102  1200  5  1546448400  -3    6

 13   11018  20190102  1200  6  1546452000  -7    2

 14   11035  20190103     0  0  1546473600 -15 -14

 15   11035  20190103     0  1  1546477200 -17 -11

 16   11035  20190103     0  2  1546480800 -20 -12

 17   11035  20190103     0  3  1546484400 -23 -16

 18   11035  20190103     0  4  1546488000 -26 -11

 19   11035  20190103     0  5  1546491600 -28 -11

 20   11035  20190103     0  6  1546495200 -27 -12

 21   11031  20190103  1100  0  1546516800   0   1

 22   11031  20190103  1100  1  1546520400   4  -7

 23   11031  20190103  1100  2  1546524000   5  -6

 24   11031  20190103  1100  3  1546527600   2 -16

 25   11031  20190103  1100  4  1546531200  -3 -14

 26   11031  20190103  1100  5  1546534800  -8 -12

 27   11031  20190103  1100  6  1546538400 -12 -14

 .

 .

 .

 .

等等。



这个问题有简单的解决方案吗?请注意,原始数据框中的行也可能混淆。感谢帮助!


猛跑小猪
浏览 110回答 1
1回答

料青山看我应如是

另一种解决方案:def col_6(df):    df['H'] = df[df['D'] == 0]['G'].values[0]    return dfdf.groupby(['A','B','C']).apply(col_6)
随时随地看视频慕课网APP

相关分类

Java
我要回答