누락값
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한 결과이다
ident
와taken
을 기준으로 데이터를 합친다- 결합시 존재하지 않는 데이터는
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
로 누락값을 삭제할 수도 있다