簡體   English   中英

dataframe 中以時間戳為索引過濾相似行

[英]Filter similar rows based on timestamp as index in a dataframe

我有一個 dataframe 以時間戳為索引。 我想過濾掉具有相似時間戳的行並打印出來。 例如,

                        Value_1  Value_2
timestamp                                           
2022-03-22 17:31:02     23        30    
2022-03-22 17:31:02     25        40
2022-03-22 17:31:04     24        0.2   
2022-03-22 17:31:05     21        90    
2022-03-22 17:31:05     20        0.1

我想過濾掉具有類似時間戳的行,如下所示。

                        Value_1  Value_2
timestamp                                           
2022-03-22 17:31:02     23        30    
2022-03-22 17:31:02     25        40
2022-03-22 17:31:05     21        90    
2022-03-22 17:31:05     20        0.1

我嘗試使用meltgroupby 它沒有給我想要的結果。 有人可以幫我嗎?

謝謝。

我們可以使用帶有參數keep=Falseindex.duplicated (意思是如果存在重復值,則將所有出現的重復值標記為True

df[df.index.duplicated(keep=False)]

                     Value_1  Value_2
timestamp                            
2022-03-22 17:31:02       23     30.0
2022-03-22 17:31:02       25     40.0
2022-03-22 17:31:05       21     90.0
2022-03-22 17:31:05       20      0.1

您還可以使用groupby + filter

filtered_df = df.groupby(level=0).filter(lambda x: len(x) > 1)

Output:

>>> filtered_df
                     Value_1  Value_2
timestamp                            
2022-03-22 17:31:02       23     30.0
2022-03-22 17:31:02       25     40.0
2022-03-22 17:31:05       21     90.0
2022-03-22 17:31:05       20      0.1

暫無
暫無

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

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