Home 누락값 (데이터 분석을 위한 판다스 입문)
Post
Cancel

누락값 (데이터 분석을 위한 판다스 입문)

누락값

1
2
3
4
5
6
7
8
9
10
[visited]
   ident   site       dated
0    619   DR-1  1927-02-08
1    622   DR-1  1927-02-10
2    734   DR-3  1939-01-07
3    735   DR-3  1930-01-12
4    751   DR-3  1930-02-26
5    752   DR-3         NaN
6    837  MSK-4  1932-01-14
7    844   DR-1  1932-03-22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[survey]
     taken person quant  reading
0     619   dyer   rad     9.82
1     619   dyer   sal     0.13
2     622   dyer   rad     7.80
3     622   dyer   sal     0.09
4     734     pb   rad     8.41
5     734   lake   sal     0.05
6     734     pb  temp   -21.50
7     735     pb   rad     7.22
8     735    NaN   sal     0.06
9     735    NaN  temp   -26.00
10    751     pb   rad     4.35
11    751     pb  temp   -18.50
12    751   lake   sal     0.10
13    752   lake   rad     2.19
14    752   lake   sal     0.09
15    752   lake  temp   -16.00
16    752    roe   sal    41.60
17    837   lake   rad     1.46
18    837   lake   sal     0.21
19    837    roe   sal    22.50
20    844    roe   rad    11.25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[merge visited, survey]
     ident   site       dated  taken person quant  reading
0     619   DR-1  1927-02-08    619   dyer   rad     9.82
1     619   DR-1  1927-02-08    619   dyer   sal     0.13
2     622   DR-1  1927-02-10    622   dyer   rad     7.80
3     622   DR-1  1927-02-10    622   dyer   sal     0.09
4     734   DR-3  1939-01-07    734     pb   rad     8.41
5     734   DR-3  1939-01-07    734   lake   sal     0.05
6     734   DR-3  1939-01-07    734     pb  temp   -21.50
7     735   DR-3  1930-01-12    735     pb   rad     7.22
8     735   DR-3  1930-01-12    735    NaN   sal     0.06
9     735   DR-3  1930-01-12    735    NaN  temp   -26.00
10    751   DR-3  1930-02-26    751     pb   rad     4.35
11    751   DR-3  1930-02-26    751     pb  temp   -18.50
12    751   DR-3  1930-02-26    751   lake   sal     0.10
13    752   DR-3         NaN    752   lake   rad     2.19
14    752   DR-3         NaN    752   lake   sal     0.09
15    752   DR-3         NaN    752   lake  temp   -16.00
16    752   DR-3         NaN    752    roe   sal    41.60
17    837  MSK-4  1932-01-14    837   lake   rad     1.46
18    837  MSK-4  1932-01-14    837   lake   sal     0.21
19    837  MSK-4  1932-01-14    837    roe   sal    22.50
20    844   DR-1  1932-03-22    844    roe   rad    11.25
  • visited와 survey를 merge한 결과이다
  • identtaken을 기준으로 데이터를 합친다
  • 결합시 존재하지 않는 데이터는 NaN으로 저장된다

누락값 개수 구하기

1
2
print(np.count_nonzero(ebola.isnull()))   # 1214
print(np.count_nonzero(ebola['Cases_Guinea'].isnull()))   # 29
  • count_nonzero, isnull메서드를 조합해도 누락값의 개수를 구할 수 있다
1
print(ebola.Cases_Guinea.value_counts(dropna=False).head())
  • value_counts메드는 지정한 열의 빈도를 구하는 메서드이다

누락값 처리하기

1
print(ebola.fillna(0).iloc[0:10, 0:5])
  • fillna()에 값을 0을 입력하면 누락값을 0으로 변경한다
1
print(ebola.fillna(method='ffill').iloc[0:10, 0:5])
  • fillna()메드의 method 인자를 “ffill”로 지정하면 누락값이 나타나기 전의 값으로 변경된다
  • 처음에 누락값이 나타나면 처리하지 못한다
1
print(ebola.fillna(method='bfill').iloc[0:10, 0:5])
  • method 인자값을 “bfill”로 지정하면 누락값이 나타난 이후의 첫 번째 값으로 앞쪽의 누락값이 모두 변경된다
  • 마지막 누락값을 처리하지 못한다
1
print(ebola.interpolate().iloc[0:10, 0:5])
  • interpolate메서드는 누락값 양쪽에 있는 값을 이용하여 중간값을 구한 다음 누락값을 처리한다
  • dropna로 누락값을 삭제할 수도 있다
This post is licensed under CC BY 4.0 by the author.

데이터로 그래프 그리기 (데이터 분석을 위한 판다스 입문)

Greedy Algorithm (Python Algorithm interview 21장)