파이썬 판다스 row/column 복사하기
파이썬 판다스 모듈에서 데이터프레임의 특정 행, 열을 복제하는 방법에 대해서
정리해보도록 하겠습니다.
예시로, 아래의 데이터프레임이 df라는 변수에 저장된 상황을 가정하고 결과를 살펴보겠습니다.
import pandas as pd
a = {'A' : [111, 222, 333, 444, 555, 666], 'B' : ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff']}
df = pd.DataFrame(a)
df
행 1개 복제
행 1개를 복사하여 맨 아래의 위치에 붙이는 방법은
df.loc[인덱스]를 이용하여 행 1개를 가져온 뒤, df.append를 사용하여
맨 뒤의 위치에 복제된 행을 이어 붙이면 됩니다.
2번 인덱스에 해당하는 행을 이어 붙인 예시 코드는 아래와 같습니다.
df = df.append(df.loc[2])
# df = df.append(df.loc[2], ignore_index = True) 복제된 행 인덱스가 6으로 지정됨
df
만일, 행의 인덱스가 연속된 형태로 행을 복사하고 싶다면
append 함수 내의 ignore_index 인자를 True로 설정해주시면 됩니다.
행 여러 개 복제
여러 개의 행을 동시에 복사하여 맨 뒤에 붙이고 싶은 경우에는
df.loc[해당되는 인덱스들의 리스트] 형태로 행 여러 개를 가져온 뒤,
위와 마찬가지로 df.append를 진행해주시면 됩니다.
2, 4, 5번에 해당하는 인덱스의 행들을 복제하는 과정은 아래 코드처럼 진행이 가능합니다.
df = df.append(df.loc[[2, 4, 5]])
# df = df.append(df.loc[[2, 4, 5]], ignore_index = True) 복제된 행들의 인덱스가 6, 7, 8번으로 지정됨
df
마찬가지로, ignore_index = True를 지정하여 인덱스 초기화 자동 지정이 가능합니다.
열 1개 복제
이번에는 컬럼 1개 전체를 복사하는 방법을 살펴보겠습니다.
df[새로운 열 이름] = df[복제될 열 이름] 형태로 코드를 작성해주시면 됩니다.
A열을 복사하여 C열로 새롭게 이어 붙인 예시 코드는 다음과 같습니다.
df['C'] = df['A']
df
열 여러 개 복제
마찬가지로 여러 개의 열들을 동시에 복사하는 방법은
df[추가될 열 이름 리스트] = df[복제될 열 이름 리스트] 형태로 지정해주시면 됩니다.
이 때, 열 이름 리스트의 길이는 양 쪽에서 같아야 합니다.
A, B열을 복제하여 C, D열로 각각 추가한 예시는 아래와 같습니다.
df[['C', 'D']] = df[['A', 'B']]
df
'Python > Pandas' 카테고리의 다른 글
[Pandas] 데이터프레임에서 가장 많이(또는 적게) 등장한 값, 횟수 찾기 (0) | 2022.05.23 |
---|---|
[Pandas] 파이썬 데이터프레임 값 변경/대체 방법 정리 (5) | 2022.05.18 |
[Pandas] 파이썬 데이터프레임 특정 열 추출, 행 추출(1개, 여러 개) (0) | 2022.04.26 |