> 백엔드 개발 > 파이썬 튜토리얼 > 구분 기호를 사용하여 Pandas 열의 텍스트를 여러 행으로 어떻게 분할할 수 있나요?

구분 기호를 사용하여 Pandas 열의 텍스트를 여러 행으로 어떻게 분할할 수 있나요?

Mary-Kate Olsen
풀어 주다: 2024-11-16 10:39:03
원래의
784명이 탐색했습니다.

How can you split text in a Pandas column into multiple rows using delimiters?

Pandas를 사용하여 열의 텍스트를 여러 행으로 분할

여러 줄로 분할해야 하는 문자열이 포함된 표 형식 데이터로 작업할 때, Pandas와 Python을 활용하면 이 작업에 큰 도움이 될 수 있습니다. CSV 파일에 특정 구분 기호로 분할해야 하는 텍스트가 있는 열이 포함되어 있는 시나리오를 생각해 보십시오.

문제 설명

"이라는 열이 있는 CSV 파일이 있다고 가정합니다. Seatblocks'에는 여러 좌석 세트를 나타내는 문자열이 포함되어 있으며 각 좌석은 공백으로 구분되고 그 뒤에는 콜론이 옵니다. 귀하의 목표는 이러한 좌석 세트를 별도의 행으로 분할하는 것입니다. 예를 들어, 다음 Seatblocks 열:

2:218:10:4,6 1:13:36:1,12 1:13:37:1,13
로그인 후 복사

3개의 개별 행이 생성되어야 합니다.

2:218:10:4,6
1:13:36:1,12
1:13:37:1,13
로그인 후 복사

Pandas를 사용한 솔루션

효율적으로 Seatblocks 열을 분할하고 여러 행을 생성하면 다음을 활용할 수 있습니다. 단계:

  1. 공백으로 분할: str.split() 메서드를 사용하여 "Seatblocks" 열의 각 셀 내에서 텍스트를 공백으로 분할합니다.

    s = df['Seatblocks'].str.split(' ')
    로그인 후 복사
  2. 시리즈 적용 함수: 공백으로 구분된 문자열의 결과 목록을 데이터프레임으로 변환하려면 각 목록에 Series 함수를 적용합니다.

    s = s.apply(Series, 1)
    로그인 후 복사
  3. Flatten DataFrame: 새 데이터프레임을 쌓아서 단일 열로 병합합니다. dataframe:

    s = s.stack()
    로그인 후 복사
  4. 색인 재설정 및 열 이름 바꾸기: 원래 데이터 프레임의 색인에 맞춰 색인을 재설정하고 열 이름을 다음으로 바꿉니다. 'Seatblocks':

    s.index = s.index.droplevel(-1)
    s.name = 'Seatblocks'
    로그인 후 복사
  5. 원본 열 삭제: 데이터 프레임에서 원래 "Seatblocks" 열 제거:

    del df['Seatblocks']
    로그인 후 복사
  6. 분할 가입 DataFrame: 마지막으로 분할된 데이터프레임을 원래 데이터프레임과 결합합니다.

    df = df.join(s)
    로그인 후 복사

콜론으로 분할하는 대안

Seatblocks 열은 콜론으로 분할되어야 합니다. 솔루션을 다음과 같이 수정할 수 있습니다. 다음은 다음과 같습니다.

s = df['Seatblocks'].str.split(' ')
s = s.apply(lambda x: Series(x.split(':')))
로그인 후 복사

이렇게 하면 콜론으로 구분된 각 문자열이 포함된 데이터프레임이 자체 열에 생성됩니다.

위 내용은 구분 기호를 사용하여 Pandas 열의 텍스트를 여러 행으로 어떻게 분할할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿