차이 계산을 사용하는 다중 필드의 Pandas 그룹화
프로그래밍에서 데이터 조작은 매우 중요하며 Pandas는 이러한 작업을 수행하기 위한 강력한 라이브러리입니다. 효율적으로. 일반적인 질문 중 하나는 데이터를 여러 필드로 그룹화하고 차이를 계산하는 방법입니다. 이를 달성하는 방법을 살펴보겠습니다.
문제:
다음 구조의 DataFrame을 고려해보세요.
date site country score 0 2018-01-01 google us 100 1 2018-01-01 google ch 50 2 2018-01-02 google us 70 3 2018-01-03 google us 60 ...
목표는 '사이트/국가' 조합별로 점수가 1/3/5일 차이가 납니다.
해결책:
이 문제를 해결하기 위해 Pandas의 groupby를 활용할 수 있습니다. 및 diff 기능:
df = df.sort_values(by=['site', 'country', 'date'])
정렬을 사용하면 데이터가 적절한 그룹화 및 차이 계산을 위해 구성됩니다.
df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)
이 줄은 groupby를 사용하여 DataFrame을 '사이트' 및 '국가' 열별로 그룹화합니다. 그런 다음 diff를 사용하여 각 그룹 내 연속된 각 점수 간의 차이를 계산합니다. 결과는 'diff'라는 새 열에 저장됩니다. 누락된 값은 fillna(0)을 사용하여 0으로 대체됩니다.
출력:
결과 DataFrame에는 'diff' 열과 함께 원래 열이 포함됩니다.
date site country score diff 0 2018-01-01 fb es 100 0.0 1 2018-01-02 fb gb 100 0.0 ...
추가 참고사항:
위 내용은 Pandas DataFrame의 여러 필드에 대한 점수 차이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!