df = pd.DataFrame(columns=['name','age','city'])
df =df.append({'name':'kim','age':1, 'city':2}, ignore_index= True)
df =df.append({'name':'kim','age':1, 'city':2}, ignore_index= True)
df =df.append({'name':'park','age':1, 'city':5}, ignore_index= True)
df =df.append({'name':'kim','age':2, 'city':5}, ignore_index= True)
df =df.append({'name':'park','age':2, 'city':2}, ignore_index= True)
df =df.append({'name':'kim','age':2, 'city':2}, ignore_index= True)
df =df.append({'name':'kim','age':2, 'city':2}, ignore_index= True)
이런 테이블이 있을떄, 중복 row의 count을 세려 새로운 컬럼으로 추가하고 싶다면
sql같으면
select name, age, city, count(1) as counter
from A
group by name, age, city
이렇게 쓴다
pandas에선
df['counter'] = 1
df = df.groupby(['name','age','city'])['counter'].sum().reset_index()
이렇게 한다.
counter 컬림을 1을 기본값으로 추가하고,
name, age, city 그룹을 만든다음 counter 컬럼에 대해서 sum 을 한다
index가 뭉쳐서 나오는데, reset해준다
반응형
'data mining' 카테고리의 다른 글
open dataset - heterogeneous graph (0) | 2021.11.08 |
---|---|
maximum, maximal independent set in graphs (0) | 2019.07.04 |
anti-monotone in graph, pattern (0) | 2019.07.04 |