pandas.DataFrame.reset_index 간단 사용법 1

2019. 9. 24. 14:29Programming Tutorial/Python

보통 검색으로 우연히 keyword가 매칭되서 들어온 독자들이 대부분 이실 것으로 생각됩니다.

 

본론부터 들어가봅시다.

 

보통 Table 형식의 Data들은 아래와 같은 구조로 되어 있을 겁니다.

열 index 1 열 index 2 열 index 3 열 index 4 .....
*** *** *** *** ***
*** *** *** *** ***
*** *** *** *** ***

일반적인 형태죠. 여기서 출발해봅시다. 

 

여기서 한번 가정을 해보죠. 열 index 1이 핸드폰 브랜드를 나타낸다라고요. (삼성 or 애플)

그리고 열 index2 는 당일 판매 대수를 나타낸다고 합시다.

 

우리는 이제 해당 Data를 종합적으로 보고 싶을 것이고, 문득 궁금해졌습니다. 해당 DataSet에서 삼성 과 애플로 구분되는 판매 대수의 평균은 얼마일까?

 

엑셀이라면 쉽게 피벗테이블을 쓰면 될 것입니다.

그러면 파이썬기반 Pandas에서는 아래와 같이 나타내려면 어떻게 해야 될까요?

 

아래와 같이 pandas data frame을 처리할수 있겠습니다. 

grouped_data = dataset.groupby('휴대폰 브랜드').agg(numpy.mean)

 

해당 내용이 주된 내용은 아니니 일단 위 내용이 궁금하신분은 pandas의 groupby를 더 공부하시기 바랍니다.

  판매대수 열 index 2 열 index 3 열 index 4 열 index 5
삼성          
애플          
행 index 3          

그러면 python과 판다스로 궁금한 형태의 위 table 모양을 만들었습니다.

 

이제 행 index에 집중해볼 필요가 있겠네요.

 

행 index는 사실 Data로 활용가치가 충분한데 groupby를 쓰면서 index로 되어있기 때문에 활용하는데 제약이 많아졌습니다.

 

그러면 이걸 해결하려면 어떻게 해야될까요?

 

브랜드 판매대수 열 index 2 열 index 3 열 index 4
삼성        
애플        
샤오미        

위와 같이 row index를 없애고 Data로 바꾸면 되겠죠.

이제 본론이네요. 이렇게 row index를 없애고 그냥 열기준 Data화하고 싶을때 reset_index Method를 사용합니다.

 

>>> df
         class  max_speed
falcon    bird      389.0
parrot    bird       24.0
lion    mammal       80.5
monkey  mammal        NaN
>>> df.reset_index()
    index   class  max_speed
0  falcon    bird      389.0
1  parrot    bird       24.0
2    lion  mammal       80.5
3  monkey  mammal        NaN

row_index가 일단 열 Data화가 된 것을 볼수 있습니다. 열 이름은 따로 바꿔줄수 있으니 일단 예시에서는 index로 자동 지정되었네요.