Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Pandas의 절대 및 상대 빈도

<시간/>

통계에서 "빈도"라는 용어는 주어진 데이터 샘플에서 값이 나타나는 횟수를 나타냅니다. 수학적 및 과학적 분석을 위한 소프트웨어인 Pandas에는 주어진 샘플에서 빈도를 계산하는 많은 내장 방법이 있습니다.

절대 주파수 데이터 요소의 발생 횟수를 계산하는 빈도와 동일합니다. 아래 예에서는 도시 이름이 주어진 DataFrame에 나타나는 횟수를 간단히 계산하고 빈도로 보고합니다.

접근법 1 − .value_counts라는 pandas 메서드를 사용합니다.

import pandas as pd
# Create Data Frame
data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"]
# use the method .value_counts()
df = pd.Series(data).value_counts()
print(df)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Pune          3
Chandigarh    2
Hyderabad     1
dtype: int64

접근법 2 − .crosstab

라는 이름의 pandas 메서드를 사용합니다.

import pandas as pd
data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"]
df = pd.DataFrame(data,columns=["City"])
tab_result = pd.crosstab(index=df["City"],columns=["count"])
print(tab_result)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

col_0        count
City
Chandigarh   2
Hyderabad    1
Pune         3

상대 빈도 − 이것은 주어진 빈도와 데이터 샘플의 총 관찰 수 사이의 비율입니다. 따라서 값은 백분율로 표시될 수도 있는 부동 소수점 값이 될 수 있습니다. 그것을 알아내기 위해 우리는 먼저 첫 번째 접근 방식과 같이 빈도를 계산한 다음 len() 함수를 사용하여 찾은 총 관찰 수로 나눕니다.

import pandas as pd
# Create Data Frame
data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"]
# use the method .value_counts()
df = pd.Series(data).value_counts()
print(df/len(data))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Pune 0.500000
Chandigarh 0.333333
Hyderabad 0.166667
dtype: float64