从数据框

时间:2017-04-26 09:49:19

标签: python pandas

假设接口输出像

这样的pandas数据帧
   df
   A  B
0  1  4
1  2  5
2  3  6

为了进一步处理,只需要由列名和每列的最后一个值组成的元组,即

A_tuple
('A', 3)
B_tuple
('B', 6)

如何从原始数据框中以简洁的方式获取这些元组?

3 个答案:

答案 0 :(得分:3)

这就是你想要的吗?

In [188]: df.iloc[-1].reset_index().apply(tuple, axis=1)
Out[188]:
0    (A, 3)
1    (B, 6)
dtype: object

答案 1 :(得分:3)

另一种方法是在df上调用apply,以便迭代每一列,只使用[-1]访问最后一个值,通过属性.name访问列名:

In [208]:
df.apply(lambda x:(x.name ,x.iloc[-1]))

Out[208]:
A    (A, 3)
B    (B, 6)
dtype: object

答案 2 :(得分:3)

这是另一种方法:

df.to_dict('record')[-1].items()

给出了:

[('A', 3), ('B', 6)]