Pandas - 잘못된 데이터 수정


잘못된 데이터

"잘못된 데이터"는 "빈 셀" 또는 "잘못된 형식"일 필요가 없으며 누군가 "1.99" 대신 "199"를 등록한 경우와 같이 틀릴 수 있습니다.

데이터 세트를 보고 잘못된 데이터를 발견할 수 있습니다. 데이터 세트가 어떠해야 하는지에 대한 기대가 있기 때문입니다.

데이터 세트를 살펴보면 7행의 기간이 450이지만 다른 모든 행의 기간은 30~60임을 알 수 있습니다.

틀릴 필요는 없지만 이것이 누군가의 운동 세션 데이터 세트임을 고려하면 이 사람이 450분 동안 운동하지 않았다는 사실로 결론을 내립니다.

      Duration          Date  Pulse  Maxpulse  Calories
  0         60  '2020/12/01'    110       130     409.1
  1         60  '2020/12/02'    117       145     479.0
  2         60  '2020/12/03'    103       135     340.0
  3         45  '2020/12/04'    109       175     282.4
  4         45  '2020/12/05'    117       148     406.0
  5         60  '2020/12/06'    102       127     300.0
  6         60  '2020/12/07'    110       136     374.0
  7        450  '2020/12/08'    104       134     253.3
  8         30  '2020/12/09'    109       133     195.1
  9         60  '2020/12/10'     98       124     269.0
  10        60  '2020/12/11'    103       147     329.3
  11        60  '2020/12/12'    100       120     250.7
  12        60  '2020/12/12'    100       120     250.7
  13        60  '2020/12/13'    106       128     345.3
  14        60  '2020/12/14'    104       132     379.3
  15        60  '2020/12/15'     98       123     275.0
  16        60  '2020/12/16'     98       120     215.2
  17        60  '2020/12/17'    100       120     300.0
  18        45  '2020/12/18'     90       112       NaN
  19        60  '2020/12/19'    103       123     323.0
  20        45  '2020/12/20'     97       125     243.0
  21        60  '2020/12/21'    108       131     364.2
  22        45           NaN    100       119     282.0
  23        60  '2020/12/23'    130       101     300.0
  24        45  '2020/12/24'    105       132     246.0
  25        60  '2020/12/25'    102       126     334.5
  26        60      20201226    100       120     250.0
  27        60  '2020/12/27'     92       118     241.0
  28        60  '2020/12/28'    103       132       NaN
  29        60  '2020/12/29'    100       132     280.0
  30        60  '2020/12/30'    102       129     380.3
  31        60  '2020/12/31'     92       115     243.0

7행의 "Duration"과 같은 잘못된 값을 어떻게 고칠 수 있습니까?


w3schools CERTIFIED . 2021

인증을 받으세요!

Pandas 모듈을 완료하고, 연습을 수행하고, 시험에 응시하면 w3schools 인증을 받게 됩니다!

$10 등록

값 바꾸기

잘못된 값을 수정하는 한 가지 방법은 값을 다른 값으로 바꾸는 것입니다.

이 예에서는 오타일 가능성이 가장 높으며 값은 "450" ​​대신 "45"여야 하며 7행에 "45"를 삽입하면 됩니다.

예시

7행에서 "기간" = 45로 설정:

df.loc[7, 'Duration'] = 45

작은 데이터 세트의 경우 잘못된 데이터를 하나씩 교체할 수 있지만 큰 데이터 세트는 교체할 수 없습니다.

더 큰 데이터 세트에 대한 잘못된 데이터를 대체하기 위해 몇 가지 규칙을 생성할 수 있습니다. 예를 들어 법적 값에 대한 일부 경계를 설정하고 경계 외부에 있는 모든 값을 대체할 수 있습니다.

예시

"Duration" 열의 모든 값을 반복합니다.

값이 120보다 크면 120으로 설정합니다.

for x in df.index:
  if df.loc[x, "Duration"] > 120:
    df.loc[x, "Duration"] = 120

행 제거

잘못된 데이터를 처리하는 또 다른 방법은 잘못된 데이터가 포함된 행을 제거하는 것입니다.

이렇게 하면 대체할 항목을 찾을 필요가 없으며 분석을 수행하는 데 필요하지 않을 가능성이 높습니다.

예시

"Duration"이 120보다 큰 행 삭제:

for x in df.index:
  if df.loc[x, "Duration"] > 120:
    df.drop(x, inplace = True)