Sagen gegebene Datumsrahmen df1, df2, df3, was ist der beste Weg, um df = df1 zu bekommen, wenn (df2> 0) sonst df3 elementweise?Elementweise ternäre bedingte Operation auf Datenrahmen
2
A
Antwort
2
Sie können df.where
verwenden, um dies zu erreichen:
In [3]:
df1 = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
df2 = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
df3 = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
print(df1)
print(df2)
print(df3)
a b c
0 -0.378401 1.456254 -0.327311
1 0.491864 -0.757420 -0.014689
2 0.028873 -0.906428 -0.252586
3 -0.686849 1.515643 1.065322
4 0.570760 -0.857298 -0.152426
a b c
0 1.273215 1.275937 -0.745570
1 -0.460257 -0.756481 1.043673
2 0.452731 1.071703 -0.454962
3 0.418926 1.395290 -1.365873
4 -0.661421 0.798266 0.384397
a b c
0 -0.641351 -1.469222 0.160428
1 1.164031 1.781090 -1.218099
2 0.096094 0.821062 0.815384
3 -1.001950 -1.851345 0.772869
4 -1.137854 1.205580 -0.922832
In [4]:
df = df1.where(df2 >0, df3)
df
Out[4]:
a b c
0 -0.378401 1.456254 0.160428
1 1.164031 1.781090 -0.014689
2 0.028873 -0.906428 0.815384
3 -0.686849 1.515643 0.772869
4 -1.137854 -0.857298 -0.152426
1
auch
df = df1[df2 > 0].combine_first(df3)
Verwandte Themen
- 1. Einfache ternäre Operation funktioniert nicht
- 2. Bedingte ternäre Operator Fehlfunktionen (PHP)
- 3. Pandas: Elementweise Multiplikation von zwei Datenrahmen
- 4. Übermäßig komplizierte bedingte Operation Frage
- 5. Pandas Datenrahmen str.contains() UND-Operation
- 6. Python Pandas bedingte Summe auf Datenrahmen, die auf mehrere Spalten
- 7. elementweise Operationen auf zwei dicts
- 8. Arithmetische Operation auf einer Gruppe von Pandas Datenrahmen
- 9. Bedingte Summe zwischen zwei Datenrahmen in R
- 10. eine Datenrahmen Spalte Füllung auf der Basis mehrerer bedingte Entscheidungen
- 11. Basierend auf bedingte Anweisung fügen neue Spalte Datenrahmen
- 12. Elementweise und auf mehrere Vektoren in R
- 13. Elementweise Matrixmultiplikation in NumPy
- 14. bedingte Operation unter Verwendung von in for-Schleife
- 15. ungewöhnliche ternären Operation
- 16. ternäre Operator imbrication
- 17. Hibernate: Assoziationskartierung ternäre
- 18. Python ternäre Operator
- 19. Angular ternäre mit Ausdrücken
- 20. Ternäre Operatoren (Java)
- 21. PHP Ternäre Operator Klärung
- 22. JavaScript Template-Engine - Konvertieren linke ternäre (ohne Zuordnung) in bedingte Anweisung (en)
- 23. führen Operation auf Rückgabewert
- 24. randomisierte elementweise Multiplikation in R
- 25. Unicode elementweise Zeichenfolgevergleich in numpy
- 26. Panda Datenrahmen bedingte .mean() abhängig von Werten in bestimmten Spalte
- 27. Elementweise String-Verkettung in numpy
- 28. Elementweise Quadrat der Theano-Matrix
- 29. Ternäre Beziehungen in Entity Framework
- 30. Implizite Variablendeklaration und ternäre Zuweisung
IIUC dann 'df = np.where (DF2> 0, df1, df3)' – EdChum