지금 우리가 사용하고 있는 tmp0은 df가 아니라 series이다.
!=DataFrame.reset_index()
이걸 DataFrame으로 바꿔주기 위해서는 reset_index()를 사용하면 되는데, 이때 우리가 size()로 세어준 셀의 갯수의 컬럼명이 임의로 0으로 되어있기 때문에 함께 바꿔주려면 아래와 같이 하면 된다
reset_indet()에 name이라는 파라미터를 넣어줄 수 있는 건 해당 데이터가 시리즈일때만 가능하다.
우리가 원하는 피벗테이블을 만들어보자
인덱스를 attrition과 department로 나누고, job level에 따라 열을 나누어서 age를 count하라는 피벗 테이블이다.
fill_value = '' 의 경우는 만약 값이 비어있다면 그냥 공백으로 표현하라는 뜻이다
=> 멀티 인덱스 를 가진 데이터프레임에 적합함
unstack는 인덱스를 열로 갖다 붙이는 것을 뜻한다.
만약 위와 같은 피봇테이블이 있을때, 제목과 같은 언스택명령을 내리게 되면 아래와 같이 출력된다.
보다시피 attrition이 열로 가서 job level과 함께 나열되어있는 것을 볼 수 있다.
여기서 level=0에 해당하는 숫자는 df.index(인덱스의 리스트)의 인덱스값을 뜻한다
컬럼을 인덱스에 갖다 붙이는 것.
바로 위의 사진에서 다시 attrition을 인덱스로 붙이고 싶다면 그냥 바로 뒤에 .stack()을 붙이면 된다
만약 위의 사진에서 job level을 인덱스로 붙이고 싶다면 아래와 같이 하면 된다.
즉, 만약 attrition이 인덱스에서 컬럼으로 가게 되면 순서는 [job level, attrition] 이 된다는 뜻.