Numpy 를 사용 하여 특징 중의 이상 값 을 교체 및 조건 변경 방식

원본 데 이 터 는 Excel 파일 로 센서 에서 얻 을 수 있 습 니 다.Pyhton xlrd 모듈 을 통 해 읽 고 읽 은 후에 배열 형식 입 니 다.일부 이상 값 과 부족 값 이 존재 하기 때문에 Numpy 를 이용 하여 그 중의 이상 값 을 교체 하거나 조건 을 바 꿉 니 다.
1.'nan'을 주어진 값 으로 바 꿉 니 다.

import numpy as np
 
data = np.array([['nan', 1, 2, 3, 4], #          
        [10, 15, 20, 25, 'nan'],
        ['nan', 5, 8, 10, 20]])
print(data)
# [['nan' '1' '2' '3' '4']
# ['10' '15' '20' '25' 'nan']
# ['nan' '5' '8' '10' '20']]
 
data[data == 'nan'] = 100 #  numpy  'nan'      100
print(data)
# [['100' '1' '2' '3' '4']
# ['10' '15' '20' '25' '100']
# ['100' '5' '8' '10' '20']]
 
data = data.astype(float) #              
print(data)
# [[100.  1.  2.  3.  4.]
# [ 10. 15. 20. 25. 100.]
# [100.  5.  8. 10. 20.]]
2.열 에 따라 조건 을 바꾼다
이용 하 다σ준칙'또는 상자 형 그림 이 이상 치 를 판단 할 때 보통'upper 또는'lower 의 값 을 처리 해 야 하 는데 이 때 는 열 에 따라 조건 을 바 꿔 야 한다.

print(data)
# [[100.  1.  2.  3.  4.]
# [ 10. 15. 20. 25. 100.]
# [100.  5.  8. 10. 20.]]
 
data[:, 1][data[:, 1] < 5] = 5 #   2    5     5
print(data)
# [[100.  5.  2.  3.  4.]
# [ 10. 15. 20. 25. 100.]
# [100.  5.  8. 10. 20.]]
 
data[:, 2][data[:, 2] > 15] = 10 #   3    15     10
print(data)
# [[100.  5.  2.  3.  4.]
# [ 10. 15. 10. 25. 100.]
# [100.  5.  8. 10. 20.]]
보충 지식:Python 의 dataframe 수정 이상 값―줄 에 따라 평균 값 의 지정 배수 보다 큰 지 여 부 를 판단 하고,만약 그렇다면 평균 값 으로 교체 합 니 다.
다음 과 같다.

import pandas as pd

data = {'hah':[1,2,9],
    '  ':[3,2,5],
    '  ':[10,9,8]}
df = pd.DataFrame(data)
df

import numpy as np
def panduan(x):
  x_mean = np.mean(x)
  print(x_mean)
  for i in x.index:
    if x[i] > x_mean*2:
      x[i] = x_mean
#     print(i)   
  return x

df = df.apply(lambda x:panduan(x),axis=1) 
이상 은 Numpy 를 사용 하여 특징 중의 이상 치 를 교체 하고 조건 을 바 꾸 는 방식 이 바로 편집장 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기