對Dataframe中異常值檢測求助

2021-09-25 14:45:55 字數 2292 閱讀 4301

工程中檢測很多個閥門的開關,並且按照時間順序對閥門進行排序。

剛用python,純小白,還請大家不吝賜教~~

挑選出閥門開、關的電訊號,並選擇他相對應的時間,然後將所有的時間排序,因此能看出按照時間順序的開關順序。

現在主要是想通過pandas裡的dataframe來處理資料,csv的資料如圖,第一列就是時間,k220,k320,k420就是我的三個閥門。

1.就是挑選出這箭頭指的點,然後得出他對應的時間值,對時間值進行排序。

2. 由於曲線並不都是這樣突然增大或減少,有的是慢慢增長。但是所有的閥門都要第乙個突然變化點的值。

因此判定條件為,如圖黑顏色曲線,就要規定變化的前乙個值在一定的範圍內,它後面的值比它大很多,後面的值就是需要的值,即 i<=7.1, 然後i+1減去i>0.6,選取此時的i+1就是我要的點

3。最終想要的輸出的結果如圖

目前沒有用dataframe採用的這樣的辦法,但是總覺的dataframe更好用,不知道怎麼下手,求大神幫忙!!

#原始資源, 這是個字典 字串 「1564121838」 是key, value 是 0.423 這些。

#這個字典一共有5組鍵值對

sources =

#獲取字典的長度

length =

len(sources)

#把字典元素變成list集合此時集合裡裝的是 鍵值對元組,即 [

("1564121838"

,0.423),

("1564121853"

,3.594)]

sourceitems =

list

(sources.

items()

)#遍歷0到字典長度-

1 這裡是 0到4

for i in

range

(length-1)

: # print

(i) # 拿到i位置的元組

currentitem = sourceitems[i]

# i+

1 位置的元組

nextitem = sourceitems[i+1]

# i 位置的 value 就是0.423這種value

currentvalue = currentitem[1]

# i+

1 位置的 value

nextvalue = nextitem[1]

# 兩個位置的差

diffvalue = nextvalue - currentvalue

print

(diffvalue)

if(nextvalue != currentvalue)

&(diffvalue >=3)

: #如果i+

1位和i位置的值 不相等 並且差 大於等於三,那麼判定為第一次突變。進入該分支

#i+1位置就是需要的第一次變大的值和時間

print

("符合條件"

)print

(nextitem)

print

("time: "

, nextitem[0]

)print

("value: "

, nextitem[1]

) #只要找到符合條件的就退出迴圈

break

dataframe只會從裡面選出幾列進行分析,別的無法進展。。。求幫忙!!謝謝!!

import pandas as pd

df = pd.

read_csv

(r"e:\\11.csv"

,encoding =

"gbk"

,index_col=

0,header=4)

, usecols =[0

,117

,118

,119

,121

,122

,124

,126

,128

,129

,130

,131

,132

]

Pandas DataFrame中對異常值的處理

相信大多數朋友們在使用pandas讀取excel資料 如csv檔案 時,中往往含有異常的值。這些異常值通過包括三大類 none,null,nan。但是none和null通常可以通過 來判斷,相對比較簡單,因此本文主要介紹對nan異常值的處理。眾所周知,nan其實指的是not a number,也就是...

R中異常值檢測

data1 complete.cases selectdata 布林判斷 true代表1,false代表0 sum complete.cases selectdata 完整資料200條 sum complete.cases selectdata 不完整資料1條 mean complete.cases...

ArcGIS中修復異常值

在處理遙感資料過程中,往往會有異常值的出現,例如modis資料的無效值以及dem中的空值等,我們在使用資料時一般需要去除這些異常值,並將其修正至相對準確的值。一般而言,異常值時乙個範圍內的值或者空值,提取異常值的主要目的是將其設為空值,便於後續的插值操作。關於查詢異常值,arcgis幫助文件有詳細說...