Pandas DataFrame DataFrame.reindex() 함수

  1. pandas.DataFrame.reindex()구문
  2. 예제 코드: DataFrame.reindex()
  3. 예제 코드: 열을 다시 색인화하는DataFrame.reindex()
  4. 예제 코드: fill_value로 누락 된 값을 채우는DataFrame.reindex()메소드
  5. 예제 코드: method 매개 변수를 사용하여 누락 된 값을 채우기위한DataFrame.reindex()

Python Pandas DataFrame.reindex() 함수는DataFrame의 색인을 변경합니다. 지정된 축의 인덱스를 변경합니다. 새 색인에는 값이 없습니다. 이러한 값을 채우기위한 선택적 매개 변수를 제공합니다.

pandas.DataFrame.reindex()구문

DataFrame.dropna(labels, 
                 index,
                 columns,
                 axis, 
                 method,
                 copy,
                 level,
                 fill_value,
                 limit,
                 tolerance) 

매개 변수

labels 새 인덱스의 이름을 포함하는 ‘배열 형’구조입니다.
index, column 새 인덱스의 이름을 포함하는 ‘배열 형’구조입니다. 키워드index 또는column을 사용하여 지정해야합니다.
axis 정수또는 문자열입니다. 대상 축에 대해 행 또는 열을 알려줍니다. 0또는 'index'1또는 'columns'
method 이 매개 변수는 재 색인 된 DataFrame에서 누락 된 값을 채우는 방법을 지정합니다.
None, backfill/ bfill, pad/ ffill, nearest의 네 가지 가능성이 있습니다.
DataFrame 또는Series에 증가 또는 감소하는 인덱스 시퀀스가있는 경우에만 적용됩니다.
copy 부울. 기본적으로 True입니다. 새 개체를 반환합니다.
level 정수 또는 이름입니다. 전달 된 다중 인덱스 수준의 인덱스 값과 일치합니다.
fill_value 스칼라값이 있습니다. 누락 된 값을 채우기위한 값입니다.
limit 정수입니다. 누락 된 값을 채우는 동안 연속 요소의 한계에 대해 알려줍니다.
tolerance 일치하지 않는 경우 원본 레이블과 새 레이블의 차이를 알려줍니다.

반환

변경된 인덱스로DataFrame을 반환합니다.

예제 코드: DataFrame.reindex()

기본적으로 축은 0, 즉 행이므로 행의 색인이 다시 생성됩니다.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
print(dataframe)

데모 데이터 프레임은 다음과 같습니다.

   Attendance    Name  Obtained Marks
0          60  Olivia              56
1         100    John              75
2          80   Laura              82
3          75     Ben              64
4          95   Kevin              67

Python의 색인은 0부터 시작합니다. DataFrame을 다시 색인화하고 새 색인은 1부터 시작합니다.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})

dataframe1 = dataframe.reindex([1,2,3,4,5])
print(dataframe1)

산출:

   Attendance   Name  Obtained Marks
1       100.0   John            75.0
2        80.0  Laura            82.0
3        75.0    Ben            64.0
4        95.0  Kevin            67.0
5         NaN    NaN             NaN

여기서 5는 새 인덱스입니다. 따라서 새 인덱스의 값은 NaN입니다.

예제 코드: 열을 다시 색인화하는DataFrame.reindex()

열을 다시 색인화하는 두 가지 방법이 있습니다. 하나는columns 키워드로 레이블을 지정하는 것이고 다른 하나는 axis 매개 변수를 사용하는 것입니다. 더 좋은 방법은columns 키워드로 레이블을 지정하는 것입니다.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})

dataframe1 = dataframe.reindex(columns=['Presents','Name', 'Marks'])

print(dataframe1)

산출:

   Presents    Name  Marks
0       NaN  Olivia    NaN
1       NaN    John    NaN
2       NaN   Laura    NaN
3       NaN     Ben    NaN
4       NaN   Kevin    NaN

이전 색인에는 이전 값이 할당됩니다. 새 색인에는 NaN값이 있습니다.

axis 매개 변수를 사용하여 열을 다시 색인화 할 수도 있습니다.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})

dataframe1 = dataframe.reindex(['Presents','Name', 'Marks'],
                              axis='columns')

print(dataframe1)

예제 코드: fill_value로 누락 된 값을 채우는DataFrame.reindex()메소드

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
dataframe1 = dataframe.reindex([1,2,3,4,5], fill_value=0)
print(dataframe1)

산출:

   Attendance   Name  Obtained Marks
1         100   John              75
2          80  Laura              82
3          75    Ben              64
4          95  Kevin              67
5           0      0               0

누락 된 값은 이제 0으로 채워집니다.

예제 코드: method 매개 변수를 사용하여 누락 된 값을 채우기위한DataFrame.reindex()

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
dataframe1 = dataframe.reindex([1,2,3,4,5], method='ffill')
print(dataframe1)

산출:

 Attendance   Name  Obtained Marks
1         100   John              75
2          80  Laura              82
3          75    Ben              64
4          95  Kevin              67
5          95  Kevin              67

ffill메소드는 사용 가능한 마지막 값으로 전방 결 측값을 채웠습니다.

관련 문장 - Pandas DataFrame

  • Pandas DataFrame DataFrame.set_index() 함수
  • Pandas DataFrame DataFrame.aggregate() 함수