넓은 데이터
- 데이터의 열 자체가 어떤 값을 의미하는 경우가 있다
- 이런 값들은 열이 옆으로 길게 늘어선 형태가 된며 “넓은 데이터”라고 부른다
melt
메서드를 많이 사용하게 된다
melt 메서드
메서드 인자 | 설명 |
---|---|
id_vars | 위치를 그대로 유지할 열의 이름을 지정한다 |
value_vars | 행으로 위치를 변경할 열의 이름을 지정한다 |
var_name | value_vars로 위치를 변경한 열의 이름을 지정한다 |
value_name | var_name으로 위치를 변경한 열의 데이터를 저장한 열의 이름을 지정한다 |
여러 열을 하나로 정리하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
weather_tidy = weather_melt.pivot_table(
index=['id', 'year', 'month', 'day'],
columns='element',
values='temp'
)
-----------------------------------
element tmax tmin
id year month day
MX17004 2010 1 d30 27.8 14.5
2 d11 29.7 13.4
d2 27.3 14.4
d23 29.9 10.7
d3 24.1 14.4
3 d10 34.5 16.8
...
pivot_table
메서드는 행과 열의 위치를 다시 바꿔 정리해 준다index
인에는 위치를 그대로 유지할 열 이름을 지정하고,columns
인자에는 피벗할 열 이름을 지정한다values
인자에는 새로운 열의 데이터가 될 열 이름을 지정한다
1
2
3
4
5
6
7
8
weather_tidy_flat = weather_tidy.reset_index()
------------------------------------------
element id year month day tmax tmin
0 MX17004 2010 1 d30 27.8 14.5
1 MX17004 2010 2 d11 29.7 13.4
2 MX17004 2010 2 d2 27.3 14.4
3 MX17004 2010 2 d23 29.9 10.7
4 MX17004 2010 2 d3 24.1 14.4
reset_index
메서드로 새로 지정한 것이다
중복 데이터 처리하기
1
2
billboard_songs = billboard_long[['year', 'artist', 'track', 'time']]
billboard_songs = billboard_songs.drop_duplicates()
drop_duplicates()
를 이용해서 데이터프레임의 중복 데이터를 제거한다