반응형
질문
나는 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]
반응형
댓글