2017-11-30 2 views
1

Ich habe dieses Problem, nachdem ich/kombinieren mehrere Spalten zusammengefasst:beitreten/kombinieren ähnliche Spalten in Python

df = 
Name id id_x id_y age age_x 
A 111 111  20 
B 112  112  30 
C  113 113 40 40 

Mein Ziel ist es, sie so zu säubern:

Name id age 
A 111 20 
B 112 30 
C 113 40 

Vielen Dank im Voraus !

Antwort

2
df.groupby(df.columns.str.split('_').str[0],1).first() 
Out[1196]: 
    Name age  id 
0 A 20.0 111.0 
1 B 30.0 112.0 
2 C 40.0 113.0 
1

IIUC Verwendung fillna

df1.fillna(df2) 

Wenn die sind wirklich Räume

df1.mask(df1.astype(str).eq(‘’), df2) 
+0

Ich will nicht sagen, wo ich war, als ich diese beantwortet. Aber ich betrachte den Teil der Frage, bei dem OP angegeben hat, dass sie Datenrahmen zusammengeführt haben. Aus dem resultierenden Datenrahmen "df" sieht es so aus, als hätten sie zwei Datenrahmen, die auf dem Index verbunden sind. Ich könnte falsch liegen und werde wahrscheinlich die Antwort löschen. – piRSquared

Verwandte Themen