> 데이터 베이스 > MySQL 튜토리얼 > Pandas에서 SQL의 DENSE_RANK() 함수를 복제하는 방법은 무엇입니까?

Pandas에서 SQL의 DENSE_RANK() 함수를 복제하는 방법은 무엇입니까?

DDD
풀어 주다: 2025-01-12 06:54:43
원래의
271명이 탐색했습니다.

How to Replicate SQL's DENSE_RANK() Function in Pandas?

Pandas DataFrames에서 SQL의 DENSE_RANK() 복제

Pandas는 동률 값이 발생하는 경우에도 간격 없이 순위를 할당하는 SQL의 DENSE_RANK() 함수를 모방하는 간단한 방법을 제공합니다. 이는 중복 여부에 관계없이 연속적인 순위 할당이 필요한 시나리오에 매우 중요합니다.

Pandas의 rank() 방식 활용

핵심 솔루션은 Pandas의 rank() 방식에 있습니다. method='dense' 인수를 지정하면 원하는 조밀한 순위 동작을 얻을 수 있습니다.

예시:

샘플 DataFrame을 고려해 보겠습니다.

<code class="language-python">import pandas as pd

data = {'Year': [2012, 2013, 2013, 2014], 'Value': [10, 20, 25, 30]}
df = pd.DataFrame(data)</code>
로그인 후 복사

미러링 '순위' 열을 생성하려면 DENSE_RANK() 다음 코드를 사용하세요.

<code class="language-python">df['Rank'] = df['Year'].rank(method='dense').astype(int)
print(df)</code>
로그인 후 복사

다음과 같은 출력이 생성됩니다.

<code>   Year  Value  Rank
0  2012     10     1
1  2013     20     2
2  2013     25     2
3  2014     30     3</code>
로그인 후 복사

동점인 '연도' 값(2013)이 촘촘한 순위 순서를 유지하면서 어떻게 동일한 순위(2)를 받는지 확인하세요. .astype(int)는 더 깔끔한 표시를 위해 순위를 정수 데이터 유형으로 변환합니다.

위 내용은 Pandas에서 SQL의 DENSE_RANK() 함수를 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿