Ich habe es geschafft, eine Antwort auf ein früheres Problem zu entwickeln, das ich hatte (hier gefunden: How can i create a ruleset to assign values to specific columns, based on searching substrings, in Pandas?).Erstellen mehrerer Spalten aus mehreren Werten von einer Funktion
Ich frage mich jedoch, ob es eine effizientere Möglichkeit gibt, dies zu tun. Ich wollte mehrere Klassifikationsspalten basierend auf Strings erstellen, nach denen ich in einer Beschreibungsspalte suche.
Derzeit meine Strategie ist unten:
android_phones = ['samsung','xperia','google']
iphone= ['iphone','apple']
def OS_rules(raw_Df):
val=''
if any(word in raw_Df['Names'].lower() for word in android_phones):
val='android'
elif any(word in raw_Df['Names'].lower() for word in iphone):
val='iPhone'
else: val = 'Handset'
return val
df.loc[:,'OS_Type']=df.apply(OS_rules,axis=1)
jedoch mit dieser Strategie, ich muß mehrere Funktionen mit ‚fast‘ identischen Regeln, aber mit unterschiedlichen Rückgabewerten erstellen.
Gibt es eine Möglichkeit, mehrere Werte von einer einzelnen Funktion zurückzugeben? Und wenden Sie diese über mehrere neue Spalten an?
z.B.
if any(word in raw_Df['Names'].lower() for word in android_phones):
val1='android'
val2='pixel'
val3='vodafone'
usw. etc etc, dann neue Spalten aus diesen erstellen?