假设接口输出像
这样的pandas数据帧 df
A B
0 1 4
1 2 5
2 3 6
为了进一步处理,只需要由列名和每列的最后一个值组成的元组,即
A_tuple
('A', 3)
B_tuple
('B', 6)
如何从原始数据框中以简洁的方式获取这些元组?
答案 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)]