Pandas의 DataFrame에서 두 개의 텍스트 열 결합

  1. +연산자 메소드
  2. df.map()메소드
  3. df.apply()메소드
  4. Series.str.cat()메소드
  5. df.agg()메소드

데이터 세트로 작업 할 때 두 개 이상의 열을 결합하여 하나의 열을 만들어야합니다. 예를 들어, first namelast name이 열로 구분 된 데이터 집합이 있으며 이제 Full Name열이 필요합니다. 이 작업을 수행하는 다른 방법은 다음과 같습니다.

1.+연산자 2. map() 3. df.apply() 4. Series.str.cat() 5. df.agg()

다음 섹션에서 같은DataFrame을 다음과 같이 사용할 것입니다.

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age'])
print (df)

다음이 출력됩니다.

     First      Last Age
0      Ali     Azmat  30
1  Sharukh      Khan  40
2    Linus  Torvalds  70

+연산자 메소드

동일한 데이터 유형의 데이터를 결합하려면+연산자를 사용하십시오.

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age']) 
df["Full Name"] = df["First"] + " " + df["Last"]
print(df)

다음이 출력됩니다.

     First      Last Age       Full Name
0      Ali     Azmat  30       Ali Azmat
1  Sharukh      Khan  40    Sharukh Khan
2    Linus  Torvalds  70  Linus Torvalds

df.map()메소드

df.map() 함수를 사용하여 두 열의 텍스트를 결합 할 수도 있습니다.

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df = pd.DataFrame(data,columns=['First','Last','Age'])
df["Full Name"] = df["First"].map(str) + " " + df["Last"]
print(df)

다음이 출력됩니다.

     First      Last Age       Full Name
0      Ali     Azmat  30       Ali Azmat
1  Sharukh      Khan  40    Sharukh Khan
2    Linus  Torvalds  70  Linus Torvalds

df.apply()메소드

join()함수는 문자열을 조인하는 데에도 사용됩니다. df.apply() 함수를 사용하여 DataFrame에 적용 할 수 있습니다. df.apply()함수는 특정 축에 다른 함수를 적용하는 데 사용됩니다.

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df['Full Name'] = df[['First', 'Last']].apply(' '.join, axis=1)
print(df)

다음이 출력됩니다.

     First      Last Age       Full Name
0      Ali     Azmat  30       Ali Azmat
1  Sharukh      Khan  40    Sharukh Khan
2    Linus  Torvalds  70  Linus Torvalds

Series.str.cat()메소드

또한이Series.str.cat()메소드를 사용하여 지정된 구분 기호로 Series / Index의 문자열을 연결할 수 있습니다.

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df['Full Name'] = df['First'].str.cat(df['Last'],sep=" ")
print(df)

다음이 출력됩니다.

     First      Last Age       Full Name
0      Ali     Azmat  30       Ali Azmat
1  Sharukh      Khan  40    Sharukh Khan
2    Linus  Torvalds  70  Linus Torvalds

df.agg()메소드

df.apply()와 동일하게이 메소드는 지정된 축에 특정 함수를 적용하는 데에도 사용됩니다.

import pandas as pd
data = [
    ['Ali',
     'Azmat',
     '30'],
    ['Sharukh',
     'Khan',
     '40'],
    ['Linus',
     'Torvalds',
     '70']
]
df['Full Name'] = df[['First', 'Last']].agg(' '.join, axis=1)
print(df)

다음이 출력됩니다.

     First      Last Age       Full Name
0      Ali     Azmat  30       Ali Azmat
1  Sharukh      Khan  40    Sharukh Khan
2    Linus  Torvalds  70  Linus Torvalds

관련 문장 - Pandas Column

  • Pandas에서 주어진 조건에 따라 DataFrame 열을 만드는 방법