以熊猫降序排列数据

时间:2019-06-04 06:44:59

标签: python pandas csv

我制作了一个烧瓶应用程序,可通过网络摄像头运行我的yolo模型。与网络摄像头一起,创建了一个CSV表,用于检测对象并打印其对象名称,概率和时间戳。我想按降序打印它,以便每次运行脚本时,最后运行的代码(或行)将被写入第一行本身,而不是向下滚动表。

我尝试根据时间戳对值进行排序,但这不起作用。

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 个答案:

答案 0 :(得分:1)

您需要进行设置:

df = df.sort_values(by='Timestamp', ascending=False, kind='quicksort')

df.sort_values(by='Timestamp', ascending=False, kind='quicksort', inplace = True)

答案 1 :(得分:1)

根据documentation,您需要覆盖数据框或添加inplace标志:

df = df.sort_values(by='Timestamp', ascending=False, kind='quicksort')df.sort_values(by='Timestamp', ascending=False, inplace=True, kind='quicksort')

答案 2 :(得分:1)

您需要为df.sort_values添加inplace=True,否则该方法将返回已排序行的框架副本(就像许多其他pandas方法一样)。

答案 3 :(得分:0)

sort函数返回一个新的,已排序的DataFrame。 它不会覆盖原始的。 因此,您只需要:

df = df.sort_values(by='Timestamp', ascending=False, kind='quicksort')