我有一個以Datetime爲索引的熊貓數據框。該指數通常是單調遞增的,但似乎有幾行不遵循這個步驟。任何快速識別這些不尋常的行?找到數據框中的非單調行
-1
A
回答
0
考慮以下演示:
In [156]: df
Out[156]:
val
2017-01-01 0.889887
2017-01-02 0.838433
2017-01-03 0.977659
2017-01-04 0.750143
2017-01-05 0.271435
1970-01-01 0.138332 # <---- !!!
2017-01-07 0.673203
2017-01-08 0.497589
1999-01-01 0.592959 # <---- !!!
2017-01-10 0.818760
In [157]: df.loc[df.index.to_series().diff() < pd.to_timedelta('0 seconds')]
Out[157]:
val
1970-01-01 0.138332
1999-01-01 0.592959
In [158]: df.index.to_series().diff() < pd.to_timedelta('0 seconds')
Out[158]:
2017-01-01 False
2017-01-02 False
2017-01-03 False
2017-01-04 False
2017-01-05 False
1970-01-01 True
2017-01-07 False
2017-01-08 False
1999-01-01 True
2017-01-10 False
dtype: bool
In [159]: df.index.to_series().diff()
Out[159]:
2017-01-01 NaT
2017-01-02 1 days
2017-01-03 1 days
2017-01-04 1 days
2017-01-05 1 days
1970-01-01 -17171 days
2017-01-07 17173 days
2017-01-08 1 days
1999-01-01 -6582 days
2017-01-10 6584 days
dtype: timedelta64[ns]
0
「快」是指什麼資源?如果你想編程簡單,那麼簡單地做一個新的幀減去相鄰的列。任何零或負值的輸入都是您的目標。
如果您需要執行速度,請注意相鄰的差異仍然是必要的:您可以節省的是在給定行中查找多個違規的開銷。然而,除非你有一個特別寬的數據框架,否則很可能你會在短路時損失更多,而不是通過保存的減法獲得。還要注意,具有矩陣運算或其他並行性的處理器對於整個數據幀來說足夠快,檢查會花費您大量的時間。
相關問題
- 1. 尋找熊貓數據框中的非數字行?
- 2. 非單調數據的插值
- 3. 單行數據框的單行Anova
- 4. 從單行中選擇非NA數據
- 5. 將非單音數據轉換爲單調數據R
- 6. 在postgresql數據庫中查找包含非數字值的行
- 7. 在決策樹中找到非單調區域
- 8. 找到數據框python中的錯誤數據點
- 9. 從熊貓數據框中的多行中提取非nan值
- 10. MongoDB中並非如此簡單找到
- 11. 在數據框中查找第一個非零值
- 12. 熊貓將Excel文件中的空行結合到數據框中的單行
- 13. 找到一條線與非單調任意曲面的交點?
- 14. 在數據框內和數據框之間對組進行調節時非唯一實例的頻率
- 15. 根據數據添加邊框到中繼器中的表格行/單元格
- 16. 比較熊貓數據框的行並找到交集?
- 17. 從數據庫表中找到非連續的原始值 - SQL
- 18. 從數據庫中找到第n行
- 19. 將一行添加到數據框中
- 20. 查找從Neo4j數據庫中找不到的單詞
- 21. 將數據框的行分成Pyspark中的簡單行
- 22. 將數據行從數據框列表中添加到數據框,直到列表中的每個數據框的行數爲1000爲止
- 23. 如何在R中的數據框中對單元格進行排名而不將其添加到數據框
- 24. 找到熊貓數據框中每三列的平均數
- 25. 在matlab中內插非單調x數據
- 26. RCPP ::數據框 - 找到柱式
- 27. 如何在兩個數據框中找到不一致的單元格
- 28. 查找數據框中跨行的序列之後的元素
- 29. 在數據框中查找參數字符串中的數據
- 30. 從python數據框列中刪除非json對象行