我有一个以下格式的数据框:
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?
答案 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