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 열을 분할하고 여러 행을 생성하면 다음을 활용할 수 있습니다. 단계:
공백으로 분할: str.split() 메서드를 사용하여 "Seatblocks" 열의 각 셀 내에서 텍스트를 공백으로 분할합니다.
s = df['Seatblocks'].str.split(' ')
시리즈 적용 함수: 공백으로 구분된 문자열의 결과 목록을 데이터프레임으로 변환하려면 각 목록에 Series 함수를 적용합니다.
s = s.apply(Series, 1)
Flatten DataFrame: 새 데이터프레임을 쌓아서 단일 열로 병합합니다. dataframe:
s = s.stack()
색인 재설정 및 열 이름 바꾸기: 원래 데이터 프레임의 색인에 맞춰 색인을 재설정하고 열 이름을 다음으로 바꿉니다. 'Seatblocks':
s.index = s.index.droplevel(-1) s.name = 'Seatblocks'
원본 열 삭제: 데이터 프레임에서 원래 "Seatblocks" 열 제거:
del df['Seatblocks']
분할 가입 DataFrame: 마지막으로 분할된 데이터프레임을 원래 데이터프레임과 결합합니다.
df = df.join(s)
콜론으로 분할하는 대안
Seatblocks 열은 콜론으로 분할되어야 합니다. 솔루션을 다음과 같이 수정할 수 있습니다. 다음은 다음과 같습니다.
s = df['Seatblocks'].str.split(' ') s = s.apply(lambda x: Series(x.split(':')))
이렇게 하면 콜론으로 구분된 각 문자열이 포함된 데이터프레임이 자체 열에 생성됩니다.
위 내용은 구분 기호를 사용하여 Pandas 열의 텍스트를 여러 행으로 어떻게 분할할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!