>백엔드 개발 >파이썬 튜토리얼 >Pandas 열의 텍스트를 여러 행으로 분할하는 방법은 무엇입니까?

Pandas 열의 텍스트를 여러 행으로 분할하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-11 01:02:03776검색

How to Split Text in a Pandas Column into Multiple Rows?

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

대용량 CSV 파일을 처리할 때는 데이터를 효율적으로 조작하는 것이 필요합니다. 일반적인 작업 중 하나는 열의 텍스트를 여러 행으로 분할하는 것입니다. 이는 Python의 강력한 데이터 조작 라이브러리인 Pandas를 사용하여 달성할 수 있습니다.

공백과 콜론으로 구분된 텍스트 값을 포함하는 "Seatblocks"라는 열이 있는 CSV 파일이 있다고 가정해 보겠습니다. 우리의 목표는 이 열의 각 값을 개별 행으로 분할하여 콜론으로 구분된 각 부분에 대해 새 열을 생성하는 것입니다.

CustNum  CustomerName     ItemQty  Item   Seatblocks                 ItemExt
32363    McCartney, Paul      3     F04    2:218:10:4,6                   60
31316    Lennon, John        25     F01    1:13:36:1,12 1:13:37:1,13     300

"Seatblocks" 열을 공백으로 분할하고 각 부분에 별도의 행을 제공하려면, 다음 코드를 사용합니다.

s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack()
s.index = s.index.droplevel(-1)
s.name = 'Seatblocks'
del df['Seatblocks']
df = df.join(s)

이 코드는 다음 출력을 생성합니다.

   CustNum     CustomerName  ItemQty Item  ItemExt  Seatblocks
0    32363  McCartney, Paul        3  F04       60  2:218:10:4,6
1    31316     Lennon, John       25  F01      300  1:13:36:1,12
1    31316     Lennon, John       25  F01      300  1:13:37:1,13

각각을 분할하려면 자체 열에 콜론으로 구분된 문자열이 있는 경우 다음 코드를 사용할 수 있습니다.

df.join(s.apply(lambda x: Series(x.split(':'))))

결과는 다음과 같습니다.

   CustNum     CustomerName  ItemQty Item  ItemExt  0    1   2     3
0    32363  McCartney, Paul        3  F04       60  2  218  10   4,6
1    31316     Lennon, John       25  F01      300  1   13  36  1,12
1    31316     Lennon, John       25  F01      300  1   13  37  1,13

이 방법은 텍스트를 열에 분할하는 효과적인 방법을 제공합니다. 열을 여러 행으로 나누어 추가적인 데이터 조작 및 분석이 가능합니다.

위 내용은 Pandas 열의 텍스트를 여러 행으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.