Pandas 삽입 방법

Suraj Joshi 2023년1월30일
  1. Python의pandas.DataFrame.insert()메서드
  2. insert()메서드에서allow_duplicates = True를 설정하여 이미 존재하는 열을 추가합니다
Pandas 삽입 방법

이 튜토리얼은 Pandas DataFrame에insert()메서드를 사용하여 DataFrame에 열을 삽입하는 방법을 설명합니다.

import pandas as pd

countries_df = pd.DataFrame(
    {
        "Country": ["Nepal", "Switzerland", "Germany", "Canada"],
        "Continent": ["Asia", "Europe", "Europe", "North America"],
        "Primary Language": ["Nepali", "French", "German", "English"],
    }
)
print("Countries DataFrame:")
print(countries_df, "\n")

출력:

Countries DataFrame:
       Country      Continent Primary Language
0        Nepal           Asia           Nepali
1  Switzerland         Europe           French
2      Germany         Europe           German
3       Canada  North America          English

위의 예에 표시된countries_df DataFrame을 사용하여 Pandas DataFrame에 대한insert()메서드를 사용하여 DataFrame에 열을 삽입하는 방법을 설명합니다.

Python의pandas.DataFrame.insert()메서드

통사론

DataFrame.insert(loc, column, value, allow_duplicates=False)

loc 위치에value로 지정된 값을 사용하여column이라는 열을DataFrame에 삽입합니다.

insert()메서드를 사용하여 모든 행에 대해 동일한 값을 갖는 열 삽입

import pandas as pd

countries_df = pd.DataFrame(
    {
        "Country": ["Nepal", "Switzerland", "Germany", "Canada"],
        "Continent": ["Asia", "Europe", "Europe", "North America"],
        "Primary Language": ["Nepali", "French", "German", "English"],
    }
)
print("Countries DataFrame:")
print(countries_df, "\n")

countries_df.insert(3, "Capital", "Unknown")

print("Countries DataFrame after inserting Capital column:")
print(countries_df)

출력:

Countries DataFrame:
       Country      Continent Primary Language
0        Nepal           Asia           Nepali
1  Switzerland         Europe           French
2      Germany         Europe           German
3       Canada  North America          English

Countries DataFrame after inserting Capital column:
       Country      Continent Primary Language  Capital
0        Nepal           Asia           Nepali  Unknown
1  Switzerland         Europe           French  Unknown
2      Germany         Europe           German  Unknown
3       Canada  North America          English  Unknown

countries_df DataFrame의3 위치에Capital 열을 삽입하고Unknown으로 설정된 모든 행에 대해 동일한 열 값을 삽입합니다.

위치는 0에서 시작하므로 위치 3은 DataFrame의 4 번째열을 나타냅니다.

각 행에 대한 값을 지정하는 데이터 프레임에 열 삽입

insert()메서드를 사용하여 삽입 할 열의 각 행 값을 지정하려면insert()메서드에서 값 목록을value 인수로 전달할 수 있습니다.

import pandas as pd

countries_df = pd.DataFrame(
    {
        "Country": ["Nepal", "Switzerland", "Germany", "Canada"],
        "Continent": ["Asia", "Europe", "Europe", "North America"],
        "Primary Language": ["Nepali", "French", "German", "English"],
    }
)
print("Countries DataFrame:")
print(countries_df, "\n")

capitals = ["Kathmandu", "Zurich", "Berlin", "Ottawa"]

countries_df.insert(2, "Capital", capitals)

print("Countries DataFrame after inserting Capital column:")
print(countries_df)

출력:

Countries DataFrame:
       Country      Continent Primary Language
0        Nepal           Asia           Nepali
1  Switzerland         Europe           French
2      Germany         Europe           German
3       Canada  North America          English

Countries DataFrame after inserting Capital column:
       Country      Continent    Capital Primary Language
0        Nepal           Asia  Kathmandu           Nepali
1  Switzerland         Europe     Zurich           French
2      Germany         Europe     Berlin           German
3       Canada  North America     Ottawa          English

DataFrame의Capital 열에 대한 각 행의 지정된 값과 함께 DataFrame countries_df2 위치에Capital 열을 삽입합니다.

insert()메서드에서allow_duplicates = True를 설정하여 이미 존재하는 열을 추가합니다

import pandas as pd

countries_df = pd.DataFrame(
    {
        "Country": ["Nepal", "Switzerland", "Germany", "Canada"],
        "Continent": ["Asia", "Europe", "Europe", "North America"],
        "Primary Language": ["Nepali", "French", "German", "English"],
        "Capital": ["Kathmandu", "Zurich", "Berlin", "Ottawa"],
    }
)
print("Countries DataFrame:")
print(countries_df, "\n")

capitals = ["Kathmandu", "Zurich", "Berlin", "Ottawa"]

countries_df.insert(4, "Capital", capitals, allow_duplicates=True)

print("Countries DataFrame after inserting Capital column:")
print(countries_df)

출력:

Countries DataFrame:
       Country      Continent Primary Language    Capital
0        Nepal           Asia           Nepali  Kathmandu
1  Switzerland         Europe           French     Zurich
2      Germany         Europe           German     Berlin
3       Canada  North America          English     Ottawa

Countries DataFrame after inserting Capital column:
       Country      Continent Primary Language    Capital    Capital
0        Nepal           Asia           Nepali  Kathmandu  Kathmandu
1  Switzerland         Europe           French     Zurich     Zurich
2      Germany         Europe           German     Berlin     Berlin
3       Canada  North America          English     Ottawa     Ottawa

countries_df DataFrame에Capital 열이 이미있는 경우에도countries_df DataFrame에Capital 열을 추가합니다.

insert()메소드에서allow_duplicates = True를 설정하지 않고 DataFrame에 이미 존재하는 열을 삽입하려고하면ValueError: cannot insert column, already exists. 메시지와 함께 오류가 발생합니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Pandas DataFrame Column