如果我有几个像这样的pandas数据帧:
Name Score
Sam 4
Aaron 5
Neil 6
Ben 7
Name Score
Morgan 5
Neil 6
Adam 8
Ben 5
Name Score
Evan 5
Nathan 4
Neil 6
Ben 2
如何使用pandas.concat(join)连接一个大数据帧中的所有数据帧,然后只返回在所有三个数据帧中找到的名称?
预期产出:
Name
Neil
Ben
答案 0 :(得分:4)
如果您只对名称感兴趣,可以像这样获得交集
private static void addData(Table b) throws Exception
{
Font font = new Font(Color.BLACK);
Cell cell = null;
double value = 143.567;
cell = new Cell(new Phrase(roundoffValue(value), font));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
}
public static String roundoffValue(double value )
{
return String.valueOf( new Float( Math.round(value)));
}
答案 1 :(得分:3)
您可以将pd.concat
与参数join='inner'
pd.concat([d1, d2, d3], axis=1, join='inner')
Score Score Score
Name
Neil 6 6 6
Ben 7 5 2
如果您需要区分列,可以传递keys
参数
pd.concat(
[d.Score for d in [d1, d2, d3]],
axis=1, join='inner', keys=['d1', 'd2', 'd3']
)
d1 d2 d3
Name
Neil 6 6 6
Ben 7 5 2