다음과 같은 데이터 프레임이 있습니다.
ID timestamp field2
ABC 456788 event1
ABC 456688 event2
DEF 856788 event1
ABC 96788 event1
이 결과를 주별로 그룹화하고 싶습니다.
ID timestamp field2 count
ABC 29/03/2020 event1 2
ABC 22/03/2020 event2 1
DEF 29/03/2020 event1 1
따라서이 코드를 사용하여 타임 스탬프를 그룹화하고 날짜로 변환합니다.
grouper = dftest.groupby(['ID', 'field2', pd.Grouper(key='timestamp', freq='W')])
하지만 결과를보기 위해 이렇게하면 :
grouper.count().reset_index()[(grouper.count().reset_index().ID == "ABC")]
나는 카운트를 얻지 못한다.
또한 (같은 주에있는 동일한 사용자에 의해 동일한 field2)가있는 행 중 하나만 남습니다.
그룹화와 비슷하지만 개수가 없습니다 (이 경우 사용자 ABC는 같은 주 (2020 년 3 월 29 일)에 두 개의 event1을 가지고 있기 때문입니다). 내가 얻은 결과는 다음과 같습니다.
ID timestamp field2
ABC 29/03/2020 event1
ABC 22/03/2020 event2
나는 이미 여기에서 많은 게시물과 문서를 읽었지만 정말로 이해할 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.
감사
사용 count
기능이 필요한 경우 열 이름을 지정 groupby
하고 새 열에 대해 매개 변수 Series.reset_index
와 함께 사용합니다 name
.
df = (dftest.groupby(['ID', 'field2', pd.Grouper(key='timestamp', freq='W')])['ID']
.count()
.reset_index(name='count'))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다