Entschuldigen Sie die grundlegende Natur dieser Frage, aber ich habe stundenlang nach einer Antwort gesucht und sie scheinen alle zu komplizieren, was ich brauche.
Ich habe einen Datenrahmen wie den folgenden: -
id food_item_1 food_item_2 food_item_3
1 nuts bread coffee
2 potatoes coffee cake
3 fish beer coffee
4 bread coffee coffee
Was ich tun möchte, ist, alle 'food_item_ *' - Spalten zu durchsuchen (in diesem Fall sind es also 3) und mir den häufigsten Einzelwert wie z. B. 'Kaffee' in allen 3 Spalten zurückzugeben.
Könnte jemand bitte den besten Weg empfehlen, dies zu tun?
Danke vielmals
md
Verwenden DataFrame.filter
, umformen DataFrame.stack
und dann verwenden Series.mode
, zuletzt den ersten Wert nach Position auswählen mit Series.iat
:
a = df.filter(like='food_item_').stack().mode().iat[0]
print (a)
coffee
Eine andere Idee ist mit Series.value_counts
und Auswahl des ersten Wertes des Index:
a = df.filter(like='food_item_').stack().value_counts().index[0]
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen