Pandas: 특정 인덱스 위치에 행을 삽입하는 방법


다음 기본 구문을 사용하여 Pandas DataFrame의 특정 인덱스 위치에 행을 삽입할 수 있습니다.

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = value1, value2, value3, value4

#sort index
df = df. sort_index (). reset_index (drop= True )

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas의 특정 인덱스 위치에 행 삽입

다음과 같은 팬더 DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

다음 구문을 사용하여 인덱스 위치 2와 3 사이에 줄을 삽입할 수 있습니다.

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = 'Z', 10, 5, 7

#sort index
df = df. sort_index (). reset_index (drop= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 Z 10 5 7
4 D 14 9 6
5 E 14 12 6
6 F 11 9 5
7 G 20 9 9
8:28 a.m. 4:12

다음 정보와 함께 이전 인덱스 위치 2와 3 사이에 줄이 삽입되었습니다.

  • 팀:Z
  • 포인트: 10
  • 어시스트: 5
  • 리바운드: 7

sort_index()Reset_index() 함수를 사용하여 0부터 8까지의 인덱스에 값을 재할당할 수 있었습니다.

새 행에는 기존 열 수와 동일한 수의 값이 포함되어야 합니다.

예를 들어 값이 3개만 있는 새 행을 삽입하려고 하면 다음과 같은 오류가 발생합니다.

 #attempt to insert row with only three values
df. loc [ 2.5 ] = 10, 5, 7

ValueError : cannot set a row with mismatched columns

새 행의 값 수가 DataFrame의 기존 열 수와 일치하지 않기 때문에 ValueError 가 발생합니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas DataFrame에 열을 삽입하는 방법
Pandas DataFrame에 행을 추가하는 방법
조건에 따라 Pandas DataFrame에서 행을 삭제하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다