팬더는 가장 자주 열의 값을 얻습니다.
데이터 프레임은 다음과 같습니다.
0 name data
1 alex asd
2 helen sdd
3 alex dss
4 helen sdsd
5 john sdadd
그래서 가장 자주 사용하는 값 또는 값(이 경우에는 값)을 구하려고 합니다. 그래서 제가 하는 일은 다음과 같습니다.
dataframe['name'].value_counts().idxmax()
값만 반환합니다.Helen이 두 번 등장하더라도 Alex.
사용함으로써mode
df.name.mode()
Out[712]:
0 alex
1 helen
dtype: object
얻기 위해서는n
가장 빈번한 값, 부분 집합만..value_counts()
인덱스를 가져옵니다.
# get top 10 most frequent names
n = 10
dataframe['name'].value_counts()[:n].index.tolist()
당신은 시도해 볼 수 있습니다.argmax
다음과 같이:
dataframe['name'].value_counts().argmax() Out[13]: 'alex'
그value_counts
의 카운트 개체를 반환합니다.pandas.core.series.Series
그리고.argmax
최대 값의 키를 달성하는 데 사용될 수 있습니다.
가장 일반적인 상위 5개의 이름을 제공합니다.
df['name'].value_counts().nlargest(5)
df['name'].value_counts()[:5].sort_values(ascending=False)
그value_counts
의 카운트 개체를 반환합니다.pandas.core.series.Series
그리고.sort_values(ascending=False)
가장 높은 값을 먼저 얻을 수 있습니다.
용도:
df['name'].mode()
아니면
df['name'].value_counts().idxmax()
이 방법을 사용하여 완벽한 카운트를 얻을 수 있습니다. 특정 열에 대한 모드를 계산합니다.
df['name'].value_counts()
한가지 방법이 있습니다.
df['name'].value_counts()[df['name'].value_counts() == df['name'].value_counts().max()]
인쇄하는 항목:
helen 2
alex 2
Name: name, dtype: int64
뻔하진 않지만 빠른
f, u = pd.factorize(df.name.values)
counts = np.bincount(f)
u[counts == counts.max()]
array(['alex', 'helen'], dtype=object)
이것만 사용하면..
dataframe['name'].value_counts().nlargest(n)
가장 큰 주파수와 가장 작은 주파수의 기능은 다음과 같습니다.
nlargest()
가장 빈번한 'n' 값에 대해nsmallest()
'n'개의 값을 최소화합니다.
상위 5위를 차지하는 방법:
dataframe['name'].value_counts()[0:5]
.apply 및 pd.value_counts를 사용하여 이름 열의 모든 이름이 나타나는 카운트를 가져올 수 있습니다.
dataframe['name'].apply(pd.value_counts)
가장 일반적인 상위 5개 이름을 가져오는 방법:
dataframe['name'].value_counts().head()
첫번째를 얻기위한 나의 최고의 해결책은
df['my_column'].value_counts().sort_values(ascending=False).argmax()
이와 유사한 문제를 해결할 수 있는 가장 간단한 답변이 있습니다. 상위 n(5는 기본값)의 가장 빈도가 높은 값은 다음과 같습니다.
df["column_name"].value_counts().head(n)
value_counts를 사용하여 상위 5개 식별
top5 = df['column'].value_counts()
'top_5'의 내용 나열
top5[:5]
n은 자주 사용하는 상위 항목의 수를 구하는 데 사용됩니다.
n = 2
a=dataframe['name'].value_counts()[:n].index.tolist()
dataframe["name"].value_counts()[a]
가장 일반적인 성 팬더 상위 5개 획득:
df['name'].apply(lambda name: name.split()[-1]).value_counts()[:5]
언급URL : https://stackoverflow.com/questions/48590268/pandas-get-the-most-frequent-values-of-a-column
'programing' 카테고리의 다른 글
각도 JS 날짜 필터가 작동하지 않습니다. (0) | 2023.10.23 |
---|---|
MySQL 표준 시간대 (0) | 2023.10.23 |
정수 대 IP 주소 - C (0) | 2023.10.23 |
서명되지 않은 MySQL TINYINT (0) | 2023.10.23 |
WebAPI를 사용한 ng-grid에 대한 서버측 페이징+필터링+정렬 (0) | 2023.10.23 |