Gibt es eine nicht-ausführliche Möglichkeit, eine Liste in binäre Entscheidung basierend auf einer Bedingung zu konvertieren? zB:Python: Liste in binäre Entscheidung basierend auf einer Bedingung konvertieren
patientAge = [19, 15, 13, 21, 37]
# wanted output: [1, 0, 0, 1, 1] # true if >18 otherwise false
# e.g. in matlab simply "patientAge>18"
'(np.array (patientAge)> 18) .astype (int)' wenn Sie 'numpy' verwenden. –
Versuchen Sie: 'Mean (Filter (Lambda x: x> 18, patientAge))' Auch, es gibt keinen Sinn Nickerchen und Vergleiche von Sprachen. Für alles, was Matlab besser macht, gibt es 10 Dinge, bei denen Python besser ist. –
Das funktioniert nicht für die realen Daten, an denen ich arbeite, da ich die Indizes eines Arrays basierend auf einer Bedingung erhalten muss und die entsprechenden Indizes aus einem anderen auswählen muss: Matlab Semantik von "mean (score (patientAge> 18))" ? d.h. die durchschnittliche Punktzahl von allen über 18? patientAge = [19, 15, 13, 21, 37] score = [123, 213, 429, 98, 50] patientAge = np.array (patientAge) score = np.array (score) = idx (patientAge> 18) print (idx) drucken (np.mean (score (idx))) # TypeError: Objekt 'numpy.darray' kann nicht aufgerufen werden – user2952361