>백엔드 개발 >파이썬 튜토리얼 >여러 열을 기반으로 Pandas DataFrame에서 동일한 행의 빈도를 어떻게 계산할 수 있나요?

여러 열을 기반으로 Pandas DataFrame에서 동일한 행의 빈도를 어떻게 계산할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-10-25 02:03:02751검색

How can I count the frequency of identical rows in a pandas DataFrame based on multiple columns?

여러 데이터프레임 열에서 빈도 수 가져오기

데이터프레임에서 동일한 행의 빈도를 확인하려면 groupby() 메서드를 활용할 수 있습니다. size() 함수를 사용합니다. 이 기술을 사용하면 여러 열에 걸쳐 고유한 값 조합의 발생 횟수를 계산할 수 있습니다.

다음 데이터프레임을 고려하세요.

   Group | Size |
---------+------+
   Short | Small |
   Short | Small |
   Moderate | Medium |
   Moderate | Small |
   Tall | Large |

각 행의 빈도를 계산하기 위해 데이터프레임을 그룹화할 수 있습니다. "그룹" 및 "크기" 열을 기준으로 하고 size() 함수를 사용하여 각 행이 나타나는 횟수를 결정합니다.

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

# Load the sample data
data = {'Group': ['Short', 'Short', 'Moderate', 'Moderate', 'Tall'], 'Size': ['Small', 'Small', 'Medium', 'Small', 'Large']}
df = pd.DataFrame(data)

# Option 1:
dfg = df.groupby(by=["Group", "Size"]).size()

# Option 2: Reset the index to convert the Series to a DataFrame
dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")

# Option 3: Use as_index=False to create a DataFrame without an index
dfg = df.groupby(by=["Group", "Size"], as_index=False).size()</code>

결과 데이터 프레임은 "그룹"의 각 조합에 대한 빈도 수를 제공합니다. " 및 "크기" 값. 예를 들어 출력은 다음과 같이 나타날 수 있습니다.

  Group | Size | Time
--------+------+------
  Moderate | Medium | 1
  Moderate | Small | 1
  Short | Small | 2
  Tall | Large | 1

위 내용은 여러 열을 기반으로 Pandas DataFrame에서 동일한 행의 빈도를 어떻게 계산할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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