Pandas Dataframe에서 값이 발생하는 빈도를 계산하는 방법
Ahmed Waheed
2023년1월30일
때로는 데이터 프레임으로 작업 할 때 열에서 값이 발생하는 횟수를 계산하거나 빈도를 계산하기 위해 계산할 수 있습니다. 이 목적을 위해 주로 세 가지 방법이 사용됩니다. 그것들을 하나씩 살펴 보자.
df.groupby().count()
Series.value_counts()
df.groupby().size()
다음 섹션에서 같은DataFrame
을 다음과 같이 사용할 것입니다.
import pandas as pd
df = pd.DataFrame(
{
"A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
"B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
}
)
df.groupby().count()
메소드
단일 열의 빈도를 계산하려면이 방법이 가장 좋습니다.
import pandas as pd
df = pd.DataFrame(
{
"A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
"B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
}
)
freq = df.groupby(["A"]).count()
print(freq)
freq = df.groupby(["B"]).count()
print(freq)
다음이 출력됩니다.
B
A
jim 4
sal 3
tom 2
A
B
a 4
b 5
Series.value_counts()
메소드
모든 데이터 프레임 객체는Series
객체의 모음이므로이 방법은pandas.Series
객체에 가장 적합합니다.
이제Series.values_counts()
함수를 사용하십시오
import pandas as pd
df = pd.DataFrame(
{
"A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
"B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
}
)
freq = df["A"].value_counts()
print(freq)
freq = df["B"].value_counts()
print(freq)
다음이 출력됩니다.
jim 4
sal 3
tom 2
Name: A, dtype: int64
b 5
a 4
Name: B, dtype: int64
df.groupby().size()
메소드
위의 두 메소드는 여러 열의 빈도를 계산하는 데 사용할 수 없지만 여러 열에 대해 동시에 df.groupby().size()
를 사용할 수 있습니다.
import pandas as pd
df = pd.DataFrame(
{
"A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
"B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
}
)
freq = df.groupby(["A", "B"]).size()
print(freq)
다음이 출력됩니다.
A B
jim a 2
b 2
sal a 1
b 2
tom a 1
b 1
dtype: int64