본문 바로가기
Python/Python FAQ

Python 판다스의 groupby를 사용하여 데이터프레임 행을 리스트로 그룹화하는 방법은 무엇인가요?, How to group dataframe rows into list in pandas groupby

by 베타코드 2023. 10. 5.
반응형

질문


나는 df라는 판다스 데이터 프레임을 가지고 있습니다:

a b
A 1
A 2
B 5
B 5
B 4
C 6

첫 번째 열을 기준으로 그룹화하고 두 번째 열을 각 행의 리스트로 가져오고 싶습니다:

A [1,2]
B [5,5,4]
C [6]

판다스의 그룹화 기능을 사용하여 이와 같은 작업을 할 수 있을까요?


답변


아래의 HTML을 한국어로 번역하되, HTML 태그와 태그 안의 텍스트는 영어로 유지합니다.

In [1]: df = pd.DataFrame( {'a':['A','A','B','B','B','C'], 'b':[1,2,5,5,4,6]})
        df

Out[1]: 
   a  b
0  A  1
1  A  2
2  B  5
3  B  5
4  B  4
5  C  6

In [2]: df.groupby('a')['b'].apply(list)
Out[2]: 
a
A       [1, 2]
B    [5, 5, 4]
C          [6]
Name: b, dtype: object

In [3]: df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
        df1
Out[3]: 
   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]
반응형

댓글