J'ai fait une application de flacon qui dirige mon modèle de Yolo à travers une webcam. Outre la webcam ive crée une table CSV qui détecte les objets et imprime leur nom d'objet, son probabilité et son horodatage. Je veux l'imprimer en ordre décroissant afin que chaque fois que j'exécute le script, le dernier code RAN (ou les lignes) serait écrit dans les premières lignes elles-mêmes au lieu de faire défiler la table.
J'ai essayé de trier les valeurs en fonction des horodatages, mais cela ne fonctionne pas. P>
x=[] for i in l: x=i.split(" ") df = pd.DataFrame({'Object': [x[0]],'Probability': [x[1]], 'Timestamp': [datetime.datetime.now().strftime("%A, %d. %B %Y %I:%M%p")]}) df.sort_values(by='Timestamp', ascending=False, kind='quicksort') # df.groupby(.ORDER_DATE.dt.day) df.to_csv('objects.csv', mode = 'a', index = False, encoding = "utf8")
4 Réponses :
Vous devez le définir: ou p>
Vous devez soit remplacer par le Dataframe ou ajouter le drapeau dans PLACEPER CODE>, selon le Documentation : P>
df = df.sort_values (by = 'Timeestamp', ascendant = false, type = 'Quicksort') code> ou
df.sort_values (by = 'Timeestamp', ascendant = false, Au vu = true, genre = 'Quicksort') Code> P>
Vous devez ajouter emplacement = true code> pour df.sort_values, sinon la méthode renvoie une copie du cadre avec des lignes triées (comme beaucoup d'autres méthodes de pandas le font). P>
La fonction de tri renvoie un nouveau DataFrame trié. Il n'écrit pas l'original. Vous avez juste besoin de:
df = df.sort_values(by='Timestamp', ascending=False, kind='quicksort')