Pandas DataFrame DataFrame.reindex() 함수
Minahil Noor
2023년1월30일
-
pandas.DataFrame.reindex()
구문 -
예제 코드:
DataFrame.reindex()
-
예제 코드: 열을 다시 색인화하는
DataFrame.reindex()
-
예제 코드:
fill_value
로 누락 된 값을 채우는DataFrame.reindex()
메소드 -
예제 코드:
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
메소드는 사용 가능한 마지막 값으로 전방 결 측값을 채웠습니다.