2017-04-26 2 views
3

Erstellen Angenommen eine Schnittstelle gibt einen pandas Datenrahmen wieTupel von Spaltennamen und letzten Wert von jedem Wert eines Datenrahmens

df 
    A B 
0 1 4 
1 2 5 
2 3 6 

und für die weitere Verarbeitung, nur Tupel des Spaltennamen aus und der letzte Wert von jedem Spalten benötigt werden, dh

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

Wie kann ich diese Tupel in prägnanter Weise aus dem ursprünglichen Datenrahmen erhalten?

+0

Danke! Habe es gerade korrigiert. – user1934212

Antwort

3

Wollen Sie das?

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

Eine andere Methode ist apply auf der df zu nennen, so dass es jede Spalte iteriert und Zugriff nur den letzten Wert [-1] und den Spaltennamen über Attribut .name:

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

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

Hier ist ein weiterer Ansatz:

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

Welche gibt:

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