데이터세트 작업 시 시간 경과에 따라 또는 여러 범주에 걸쳐 값 간의 차이나 변경 사항을 계산해야 하는 경우가 많습니다. Pandas에서는 groupby() 및 diff() 함수를 활용하여 이러한 계산을 효율적으로 수행할 수 있습니다.
주어진 시나리오에서는 다양한 웹사이트의 데이터와 다양한 국가의 점수가 포함된 DataFrame이 있습니다. 귀하의 목표는 각 사이트 국가 조합에 대한 1/3/5일 점수 차이를 결정하는 것입니다.
시작하려면 사이트, 국가 및 기준별로 DataFrame을 정렬하세요. 날짜 열. 정렬을 사용하면 유사한 데이터 요소를 그룹화하여 차이를 더 쉽게 계산할 수 있습니다.
<code class="python">df = df.sort_values(by=['site', 'country', 'date'])</code>
다음으로 groupby() 함수를 사용하여 사이트 및 국가별로 데이터를 그룹화합니다.
<code class="python">grouped = df.groupby(['site', 'country'])</code>
이제 데이터를 그룹화한 상태에서 diff() 함수를 사용하여 점수 차이를 계산할 수 있습니다. 이 함수는 그룹에 있는 연속 행 간의 차이를 계산합니다.
<code class="python">df['diff'] = grouped['score'].diff().fillna(0)</code>
diff() 함수는 기본적으로 누락된 값을 0으로 채워 일관되고 완전한 데이터 세트를 보장합니다.
결과 DataFrame에는 계산된 점수 차이와 함께 원본 데이터가 포함됩니다.
date site country score diff 8 2018-01-01 fb es 100 0.0 9 2018-01-02 fb gb 100 0.0 5 2018-01-01 fb us 50 0.0 6 2018-01-02 fb us 55 5.0 7 2018-01-03 fb us 100 45.0 1 2018-01-01 google ch 50 0.0 4 2018-01-02 google ch 10 -40.0 0 2018-01-01 google us 100 0.0 2 2018-01-02 google us 70 -30.0 3 2018-01-03 google us 60 -10.0
이 DataFrame은 각 사이트/국가 조합에 대해 원하는 1/3/5일 점수 차이를 제공합니다.
위 내용은 Pandas에서 여러 웹사이트 및 국가의 점수 차이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!