簡體   English   中英

當特定列中的值小於先前值時,從數據框中刪除行

[英]Removing rows from a data frame when the value In a specific column is less than the previous value

我有一個多行的熊貓數據框。 在生成圖之前,必須在時間列上執行過濾。 通常,時間值將以1Hz的速率增加,但是在某些情況下,時間值會倒退。 我需要刪除所有具有那些“無效”值的時間的行。

這應該為您工作:

df = pd.concat([df[:1],df[df.shift(1)['time'] < df['time']]])

如果您的DF帶有時間列(或其他時間的數字表示形式):

DF=pd.DataFrame({'Time':[1,2,3,4,3,4,5,6]})

對於大熊貓,請使用diff方法查找負數行(即,下一個時間值較小的行),然后將其過濾掉:

DF[DF.Time.diff()>=0]

DF中的True值將保留。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM