Pandas DataFrame DataFrame.reindex() 함수

Minahil Noor 2023년1월30일
  1. pandas.DataFrame.reindex()구문
  2. 예제 코드: DataFrame.reindex()
  3. 예제 코드: 열을 다시 색인화하는DataFrame.reindex()
  4. 예제 코드: fill_value로 누락 된 값을 채우는DataFrame.reindex()메소드
  5. 예제 코드: method 매개 변수를 사용하여 누락 된 값을 채우기위한DataFrame.reindex()
Pandas DataFrame 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