Pandas가 포함된 그룹의 고유 값 계산
범주로 그룹화된 여러 변수가 포함된 데이터 세트로 작업할 때 숫자를 결정해야 하는 경우가 많습니다. 각 그룹과 연관된 고유 값. 데이터 조작을 위해 널리 사용되는 Python 라이브러리인 Pandas는 그룹 내의 고유 값을 계산하는 여러 가지 방법을 제공합니다.
일반적인 요구 사항 중 하나는 각 도메인 내의 고유 식별자 수를 계산하는 것입니다. ID와 도메인에 대한 열이 포함된 데이터 프레임이 주어지면 각 도메인의 고유 ID 개수를 표시하는 결과를 얻으려고 합니다.
구체적으로 데이터를 고려하면
ID domain 0 123 vk.com 1 123 vk.com 2 123 twitter.com 3 456 vk.com 4 456 facebook.com 5 456 vk.com 6 456 google.com 7 789 twitter.com 8 789 vk.com
우리는 다음 출력을 달성하는 것을 목표로 합니다.
domain count vk.com 3 twitter.com 2 facebook.com 1 google.com 1
이를 달성하려면 Pandas groupby 작업 내에서 nunique() 함수를 사용할 수 있습니다. 도메인 열을 기준으로 데이터 프레임을 그룹화한 후 nunique() 함수를 ID 열에 적용하여 각 도메인의 고유 값 개수를 얻습니다. 결과 데이터 프레임에는 원하는 결과가 포함됩니다.
df = df.groupby(['domain', 'ID']).nunique() print(df)
그러나 특정 시나리오에서는 데이터의 도메인 이름 내에 작은따옴표와 같은 문자가 포함될 수 있습니다. 이러한 경우를 처리하려면 그룹화하고 계산하기 전에 str.strip("'") 함수를 사용하여 작은따옴표를 제거할 수 있습니다. 이는 다음과 같이 구현할 수 있습니다:
df = df.ID.groupby([df.domain.str.strip("'")]).nunique() print(df)
또는 groupby 작업 내에서 str.strip("'") 함수를 연결하여 코드를 단순화할 수 있습니다.
df.groupby(df.domain.str.strip("'"))['ID'].nunique()
결과 데이터 프레임의 도메인 열을 확인하려면 as_index=False 매개변수와 함께 agg() 함수를 사용할 수 있습니다.
df = df.groupby(by='domain', as_index=False).agg({'ID': pd.Series.nunique}) print(df)
이 메서드는 도메인 및 개수 열이 모두 포함된 데이터 프레임을 반환합니다. 각 도메인과 연관된 고유 ID의 수를 나타냅니다.
위 내용은 Pandas를 사용하여 그룹의 고유 값을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!