Julia로 하는 데이터 조작
Katerina Zahradova
Instructor
전체 열을 입력으로 받는 함수
maximum()처럼 전체 이름을 사용하며, max()만 쓰지 않습니다개별 행에서 동작하는 함수
select()
transform()
combine()
DataFrame을 제자리에서 변경하려면:
select!(), transform!(), combine!()# 열 선택
select(penguins, :species, :body_mass_g)
333x2 DataFrame
Row species body_mass_g
String15 Int64
___________________________
1 Adelie 3750
2 Adelie 3800
3 Adelie 3250
...
# 열 선택 및 이름 바꾸기
select(penguins, :species, :body_mass_g => :weight_g)
333x2 DataFrame
Row species weight_g
String15 Int64
___________________________
1 Adelie 3750
2 Adelie 3800
3 Adelie 3250
...
# 열을 선택하고 함수 적용
select(penguins, :species, :body_mass_g => mean)
333x2 DataFrame
Row species body_mass_g_mm
String15 Float64
___________________________
1 Adelie 4207.06
2 Adelie 4207.06
3 Adelie 4207.06
...
# body_mass_g의 최댓값 열 추가
transform(penguins, :body_mass_g => maximum)
333x8 DataFrame
Row species island ... body_mass_g sex body_mass_g_maximum
String15 String15 ... Int64 String7 Float64
___________________________________________________________________
1 Adelie Torgersen ... 3750 MALE 4207.06
2 Adelie Torgersen ... 3800 FEMALE 4207.06
...
# body_mass_g의 최댓값을 결합
combine(penguins, :body_mass_g => maximum)
1×1 DataFrame
Row body_mass_g_mean
Float64
__________________________
1 4207.06
# 한 열에 여러 함수를 적용
combine(penguins, :body_mass_g .=> [mean, minimum, maximum])
Row body_mass_g_mean body_mass_g_minimum body_mass_g_maximum
Float64 Float64 Float64
_______________________________________________________________
1 4207.06 2700 6300
# 여러 열을 하나의 함수에 전달
select(penguins, [:body_mass_g, :flipper_length_mm] .=> mean)
Row body_mass_g_mean flipper_length_mm_mean
Float64 Float64
___________________________________________
1 4207.06 200.967
2 4207.06 200.967
...
select():
transform():
combine():
Julia로 하는 데이터 조작