根据具有重复值的列表对熊猫数据框重新排序

时间:2018-11-27 08:47:52

标签: python pandas list dataframe duplicates

我有一个以下格式的数据框:

    company  col1     col2   col3
    name
 0  A             0    130      0
 1  C           173      0      0
 2  Z             0      0    150
 3  A             0    145      0
 4  Z             0      0    140
 5  Z             0      0    110

我想根据以下列表对数据框重新排序:

list=['A', 'Z', 'Z', 'A', 'C', 'Z']

我不能将“公司名称”设置为索引,而不能使用df.reindex(list),因为该索引中有重复的条目。拥有重复的条目(数据是虚拟数据)至关重要。

在这种情况下如何重新排序df?

1 个答案:

答案 0 :(得分:1)

您可以将merge与由cumcount通过列表和计数器列创建的助手@Test public void bottomLeftOriginTest() throws IOException { int width = 256; int height = 512; BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR); Graphics2D ig = bi.createGraphics(); // save the "old" transform AffineTransform old = ig.getTransform(); // origin is top left: // update graphics object with the inverted y-transform if (true) { /* order ok */ ig.scale(1.0, -1.0); ig.translate(0, -bi.getHeight()); } else { ig.translate(0, -bi.getHeight()); ig.scale(1.0, -1.0); } int xPoints[] = new int[] { 0, width, width }; int yPoints[] = new int[] { 0, height, 0 }; int nPoints = xPoints.length; ig.setColor(Color.BLUE); ig.fillRect(0, 0, bi.getWidth(), bi.getHeight()); ig.setColor(Color.RED); ig.fillPolygon(xPoints, yPoints, nPoints); // restore the old transform ig.setTransform(old); // Export the result to a file ImageIO.write(bi, "PNG", new File("origin.png")); } 一起使用:

通知:
不要使用变量名DataFrame,因为python代码字。

list