Ich habe mehrere hypothetische Tests an Insekten durchgeführt. Ich möchte Zeilen mit niedrigen result_1 Werten von 'weniger als 10' fallen lassen, die ich für nicht signifikant halte, aber gerne einen NaN Wert einreihig hinterlassen würde, um zu zeigen, welcher Test durchgeführt wurde und auf welchem Insekt.Insert column specific NaN und drop rows je nach Wert
from pandas import Series, DataFrame
import numpy as np
A = Series(['A','A','B','B','B','C'])
B = Series(['ant','flea','flea','spider','spider','flea'])
C = Series([88,77,1,3,2,67])
D = Series(np.random.randn(6))
df = DataFrame({'test':A.values,'insect':B.values,
'result_1':C.values,'result_2':D.values},
columns=['test','insect','result_1','result_2'])
df
So sieht das ursprüngliche Datenrahmen wie folgt aus:
Und weil Indizes 2,3 und 4 results_1 Werte < 10 haben, würde Ich mag alle diese Zeilen mit der Drop Vorbehalt, dass eine Zeile übrig ist (mit NaN in beide Ergebnisspalten) zu zeigen, dass Test B auf dem Floh (Index2) durchgeführt wurde, und eine Zeile sollte zeigen, dass tatsächlich Test B auf einer Spinne (von Indizes durchgeführt wurde 3 und 4, o ne muss gelöscht werden und der andere benötigt ein NaN in die Ergebnisspalten).
also die resultierende Datenrahmen sollte wie folgt aussehen:
Schön! Es funktioniert gut @jezrael – thescoop