>  기사  >  백엔드 개발  >  여러 필드가 있는 Pandas에서 그룹화된 차이를 계산하는 방법은 무엇입니까?

여러 필드가 있는 Pandas에서 그룹화된 차이를 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-01 06:05:31539검색

How to Calculate Grouped Differences in Pandas with Multiple Fields?

여러 필드가 있는 Pandas의 그룹화된 차이점

이 상황에서 우리는 다양한 사이트 및 국가 조합에 대한 점수 차이를 계산하는 것을 목표로 합니다.

이를 달성하기 위해 먼저 사이트, 국가 및 날짜에 따라 데이터프레임을 정렬합니다.

<code class="python">df = df.sort_values(by=['site', 'country', 'date'])</code>

다음으로 groupby와 diff를 활용하여 각 사이트 내 차이를 계산합니다. 및 국가 그룹:

<code class="python">df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)</code>

이렇게 하면 각 사이트 및 국가 그룹 내에서 차이가 발생하고 누락된 값이 0으로 채워집니다.

마지막으로 결과가 표시됩니다.

<code class="python">print(df)

Output:

         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</code>

임의의 순서로 정렬하는 것은 직접 지원되지 않습니다. 이러한 시나리오에서는 주문을 컬렉션에 저장하고 열을 범주형으로 만드는 것이 좋습니다. 이렇게 하면 sort_values가 제공된 순서에 맞춰 정렬됩니다.

위 내용은 여러 필드가 있는 Pandas에서 그룹화된 차이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.