>백엔드 개발 >파이썬 튜토리얼 >목록의 Pandas 열을 여러 열로 분할하는 방법은 무엇입니까?

목록의 Pandas 열을 여러 열로 분할하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-19 18:02:10293검색

How to Split a Pandas Column of Lists into Multiple Columns?

목록의 Pandas 열을 여러 열로 분할

문제

목록이 포함된 열이 있는 Pandas DataFrame을 고려해보세요.

import pandas as pd

df = pd.DataFrame({"teams": [[["SF", "NYG"]] for _ in range(7)]})

       teams
0  [[SF, NYG]]
1  [[SF, NYG]]
2  [[SF, NYG]]
3  [[SF, NYG]]
4  [[SF, NYG]]
5  [[SF, NYG]]
6  [[SF, NYG]]

이 열을 두 개의 개별 열로 변환하려면 아래를 따르세요. 단계:

해결책

  1. to_list()를 사용하여 값 목록 만들기:
import pandas as pd

d1 = {'teams': [['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],
                ['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG'],['SF', 'NYG']]}
df2 = pd.DataFrame(d1)
print (df2)
       teams
0  [SF, NYG]
1  [SF, NYG]
2  [SF, NYG]
3  [SF, NYG]
4  [SF, NYG]
5  [SF, NYG]
6  [SF, NYG]
  1. 다음을 사용하여 열 추출 할당:

원하는 열이 포함된 새 DataFrame 할당:

df2[['team1','team2']] = pd.DataFrame(df2.teams.tolist(), index= df2.index)
print (df2)
       teams team1 team2
0  [SF, NYG]    SF   NYG
1  [SF, NYG]    SF   NYG
2  [SF, NYG]    SF   NYG
3  [SF, NYG]    SF   NYG
4  [SF, NYG]    SF   NYG
5  [SF, NYG]    SF   NYG
6  [SF, NYG]    SF   NYG
  1. 결과에 대한 새 DataFrame 생성:

또는 새 DataFrame을 생성할 수도 있습니다. 별도로:

df3 = pd.DataFrame(df2['teams'].to_list(), columns=['team1','team2'])
print (df3)
  team1 team2
0    SF   NYG
1    SF   NYG
2    SF   NYG
3    SF   NYG
4    SF   NYG
5    SF   NYG
6    SF   NYG

참고: 이 작업에 apply(pd.Series)를 사용하면 위에서 설명한 방법보다 속도가 상당히 느려질 수 있습니다.

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

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