Ich versuche, einen Pandas-Datenrahmen zu Zeitstempeln zwischen einer Start- und Stoppzeit zu filtern und dann einen Wert in Zeilen einer angegebenen Spalte zu platzieren, wenn diese Bedingungen erfüllt sind. Ich habe mehrere hundert Items, die zusammen auftreten und versuchen es skalierbar zu machen. Es gibt mir nicht das erwartete Verhalten, die Werte in die angegebenen Zeilen zu platzieren und dann zur nächsten Bedingung überzugehen, um Elemente in diese Zeilen zu platzieren. Stattdessen überschreibt es jedes Mal, wenn ich den Code ausführe, die letzten Werte. Bitte beachten Sie den Pseudocode unten. Irgendwelche Gedanken/Ideen wären hilfreich, um damit umzugehen.Filtern und Platzieren von Werten in Datenrahmen mit Pandas
HINWEIS: Ich habe über die Verwendung der Methode apply gedacht, aber ich habe 400 X 60 Arten von verschiedenen Werten, die ich über Millionen von Zeilen von Daten durchlaufen müsste, und so scheint es eine Filtermethode wäre am vorteilhaftesten .
transactional_df[(transactional_df.timestamp > start1) & (transactional_df.timestamp < stop1)]['new_col'] = item1
transactional_df[(transactional_df.timestamp > start2) & (transactional_df.timestamp < stop2)]['new_col'] = item2
Gewünschtes Ergebnis:
transactional_df.col1...new_col
Condition1 Met item1
Condition2 Met item2
überprüfen Zero Antwort https://stackoverflow.com/questions/46179362/fastest-way-to-merge-pandas-dataframe-on-ranges – Wen