besser ist als ich/sauberer Weg, um versuche, so etwas wie diesePython Pandas Indizierung Datenrahmen mit Liste der Spaltennamen
single_val = 0.5
df = pd.DataFrame(np.random.rand(10, 7), columns=list(a,b,c,d,e,f,g))
df[(df['a']>single_val) & (df['c']>single_val) & (df['f']>single_val)]
ich versuchte, dies zu tun, aber es hat nicht funktioniert.
single_val = 0.5
df = pd.DataFrame(np.random.rand(10, 7), columns=(a,b,c,d,e,f,g))
data_cols = ['a','c','f']
df[df[data_cols]>single_val]
Kann mir jemand sagen
1), wie mein Ansatz Arbeit
2) zu machen, wenn es einen völlig anderen Ansatz besteht, die besser sein könnte
3), wie zu tun etwas ein wenig komplexer wie folgt aus:
val_1 = 0.5
val_2 = 0.7
val_3 = 0.9
df = pd.DataFrame(np.random.rand(10, 7), columns=list(a,b,c,d,e,f,g))
df[(df['a']>val_1) & (df['c']<=val_2) & (df['f']<val_3)]
Das Problem ist, Für die eigentliche Anwendung muss ich eine lange Liste von Spaltennamen berücksichtigen und ich möchte keine bedingten Ausdrücke einzeln eingeben.