Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 iloc으로 Pandas DataFrame에 리스트(행) 추가하는 방법

iloc는 Pandas에서 정수 위치(integer-location) 기반 인덱싱을 수행하는 메서드로, 행과 열의 위치를 기준으로 데이터를 선택하거나 수정할 수 있습니다. 이 글에서는 iloc를 활용해 DataFrame에 리스트를 행으로 추가하는 방법을 단계별로 살펴보겠습니다.

예제용 DataFrame 만들기

먼저 실습에 사용할 DataFrame을 생성합니다. 데이터는 팀 랭킹 정보를 담은 리스트 형태로 준비했습니다.

# 팀 랭킹 데이터 (리스트 형태)
Team = [['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75],
        ['New Zealand', 4, 65], ['South Africa', 5, 50], ['Bangladesh', 6, 40]]

# DataFrame 생성 및 컬럼명 지정
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])

추가할 행 준비하기

DataFrame에 반영할 새로운 행을 리스트로 정의합니다.

myList = ["Sri Lanka", 7, 30]

이제 iloc()를 사용해 이 행을 적용합니다. 인덱스 5는 위치상 6번째 행을 의미하며, 해당 위치의 기존 행이 새로운 값으로 대체됩니다.

dataFrame.iloc[5] = myList

참고: iloc[인덱스] = 값은 기존 위치의 행을 덮어쓰기(교체)하는 동작입니다. 즉, 위 예제에서는 마지막 행이 새로운 데이터로 바뀌게 됩니다. 기존 데이터를 유지한 채 완전히 새로운 행을 맨 아래에 추가하려면 pd.concat()을 사용하는 것이 좋습니다.

전체 예제 코드

다음은 위 과정을 모두 포함한 전체 코드입니다.

import pandas as pd

# 팀 랭킹 데이터 (리스트 형태)
Team = [['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75],
        ['New Zealand', 4, 65], ['South Africa', 5, 50], ['Bangladesh', 6, 40]]

# DataFrame 생성 및 컬럼명 지정
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])

print("DataFrame...\n", dataFrame)

# 추가할 행 데이터
myList = ["Sri Lanka", 7, 30]

# iloc()를 사용해 해당 위치의 행을 새로운 값으로 교체
# 인덱스 5 = 위치상 6번째 행이 새로운 값으로 대체됩니다.
dataFrame.iloc[5] = myList

# 수정된 DataFrame 출력
print("\niloc으로 행을 교체한 후의 DataFrame...\n", dataFrame)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

DataFrame...
       Country   Rank   Points
0        India      1      100
1    Australia      2       85
2      England      3       75
3  New Zealand      4       65
4 South Africa      5       50
5   Bangladesh      6       40

iloc으로 행을 교체한 후의 DataFrame...
       Country   Rank   Points
0        India      1      100
1    Australia      2       85
2      England      3       75
3  New Zealand      4       65
4 South Africa      5       50
5    Sri Lanka      7       30

출력 결과를 보면 인덱스 5에 있던 'Bangladesh' 행이 'Sri Lanka' 행으로 성공적으로 교체된 것을 확인할 수 있습니다. 이처럼 iloc를 사용하면 특정 위치의 행 데이터를 간단하고 직관적으로 수정할 수 있습니다.