2016-07-05 13 views
2

Ich füge die beiden data frames auf der Grundlage der übereinstimmenden website zusammen. Aber es gibt wenige Datensätze in beiden Datenrahmen, die keine Website haben. Dies führt zu einem falschen Abgleich in meinem resultierenden Datenrahmen, weil es auch mit den Datensätzen übereinstimmt, in denen beide Webseiten leer sind. Wie kann ich eine Bedingung angeben, die nicht mit den leeren Strings übereinstimmt?Zusammenführen von Datenrahmen unter Ausschluss leerer Datensätze

df3 = pd.merge(df1,df2,left_on='website1',right_on='website2').sort_values('company_name') 

+0

Filter die Zeilen aus vor der Verschmelzung? – Psidom

Antwort

0

können Sie filtern, bevor Verschmelzung von boolean indexing:

df1 = df1[df1.website1 != ''] 
df2 = df2[df2.website2 != ''] 

Probe:

df1 = pd.DataFrame({'website1':['','aa','bb'], 
        'a':[4,5,6]}) 

print (df1) 
    a website1 
0 4   
1 5  aa 
2 6  bb 

df1 = df1[df1.website1 != ''] 
print (df1) 
    a website1 
1 5  aa 
2 6  bb 
Verwandte Themen