我正在使用Python/Pandas,下面有dataframe (1)。我已按ID对此进行分组,然后根据每个ID获取每组修订中修订号的最大值,以生成下面的系列(2)。
现在,我希望将(1)合并成(2),使(1)的前2列与(2)的对应列相匹配,并在实际数据集(1)、'id‘、’修订‘和’颜色‘中适当地拉入(2)中的另一列,这些列不一定是连续的列,还有其他列。
我本质上是把(2)当作一把钥匙,从(1)中提取适当的数据。
我怎么用潘达斯做这件事?
提前谢谢。
麦克斯。
(1) Dataframe
ID Revision Colour
14446 0 red
14446 0 red
14446 0 red
14466 1 red
14466 1 red
14466 0 red
14466 1 red
14466 1 red
14466 0 red
14466 2 red
14466 0 red
14466 1 red
14466 0 red
14471 0 green
14471 0 green
14471 0 green
14471 0 green
14473 0 blue
14473 1 blue
14473 0 blue(2)系列
ID Revision
13125 1
13213 0
13266 0
13276 0
13277 1
13278 0
13280 2
13285 0
13287 1
13288 0
13291 1
13292 1发布于 2013-08-12 19:27:24
按修订排序,然后按ID分组,然后从每个组中获取最后一个元素。
In [2]: df.sort('Revision').groupby(level=0).last()
Out[2]:
Revision Colour
ID
14446 0 red
14466 2 red
14471 0 green
14473 1 blue我以为ID是一个索引。如果是列,则改为groupby('ID')。
https://stackoverflow.com/questions/18194975
复制相似问题