Pandas에서 DataFrame은 2차원 데이터 구조입니다. 즉, 데이터는 행과 열에서 표 형식으로 정렬됩니다. list, dict, series 및 다른 DataFrame을 사용하여 DataFrame을 만들 수 있습니다. 그러나 이미 생성된 DataFrame에 새 행을 추가하려는 경우 DataFrame의 끝에 추가하는 append와 같은 내장 메서드를 통해 달성됩니다. 이 기사에서는 DataFrame의 요소 인덱스와 관련된 몇 가지 트릭을 사용하여 DataFrame의 맨 위에 새 행 DataFrame을 추가하는 방법을 찾을 것입니다.
예시
먼저 아래와 같이 Pandas에서 새로운 DataFrame을 생성해 보겠습니다.
import pandas as pd data = {'Name':['Tom', 'Jack', 'Mary', 'Ricky'],'Age':[28,34,29,42],'Gender':['M','M','F','F']} df = pd.DataFrame(data) print df
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Age Gender Name 0 28 MTom 1 34 MJack 2 29 FMary 3 42 F Ricky
접근법 1 - 위의 DataFrame 상단에 새 행을 추가하기 위해 따라야 할 첫 번째 접근 방식은 새로 들어오는 행을 DataFrame으로 변환하고 인덱스 값을 재설정하면서 기존 DataFrame과 연결하는 것입니다. 인덱스 재설정으로 인해 새 행이 맨 위에 추가됩니다.
예시
import pandas as pd data = {'Name':['Tom', 'Jack', 'Mary', 'Ricky'],'Age':[28,34,29,42],'Gender':['M','M','F','F']} df = pd.DataFrame(data) top_row = pd.DataFrame({'Name':['Lavina'],'Age':[2],'Gender':['F']}) # Concat with old DataFrame and reset the Index. df = pd.concat([top_row, df]).reset_index(drop = True) print df를 재설정합니다.
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Age Gender Name 0 2 F Lavina 1 28 M Tom 2 34 M Jack 3 29 F Mary 4 42 F Ricky
접근법 2 - 이 접근 방식에서는 Dataframe.iloc[]을 사용합니다. 인덱스 위치 0에 새 행을 추가할 수 있는 메서드입니다. 아래 예에서는 .loc 메서드의 인덱스 값을 첫 번째 행의 인덱스 값인 0으로 언급하여 새 행을 목록으로 추가합니다.
예시
import pandas as pd data = {'Name':['Tom', 'Jack', 'Mary', 'Ricky'],'Age':[28,34,29,42],'Gender':['M','M','F','F']} df = pd.DataFrame(data) # Add a new row at index position 0 with values provided in list df.iloc[0] = ['7', 'F','Piyu'] print df
출력
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
Age Gender Name 0 7 F Piyu 1 34 M Jack 2 29 F Mary 3 42 F Ricky