[英]Pandas get the most frequent values of a column
我有這個數據框:
0 name data
1 alex asd
2 helen sdd
3 alex dss
4 helen sdsd
5 john sdadd
所以我試圖獲得最常見的值或值(在這種情況下是它的值)所以我要做的是:
dataframe['name'].value_counts().idxmax()
但它只返回值: Alex ,即使它Helen也出現了兩次。
通過使用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
可用於實現最大價值的關鍵。
df['name'].value_counts()[:5].sort_values(ascending=False)
value_counts
將返回pandas.core.series.Series
的計數對象,而sort_values(ascending=False)
將首先獲得最高值。
您可以使用它來獲得完美計數,它計算特定列的模式
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)
獲得前 5 名:
dataframe['name'].value_counts()[0:5]
用:
df['name'].mode()
或者
df['name'].value_counts().idxmax()
您可以使用 .apply 和 pd.value_counts 來計算名稱列中所有名稱的出現次數。
dataframe['name'].apply(pd.value_counts)
要獲得前五個最常見的名稱:
dataframe['name'].value_counts().head()
我獲得第一個的最佳解決方案是
df['my_column'].value_counts().sort_values(ascending=False).argmax()
簡單地使用這個..
dataframe['name'].value_counts().nlargest(n)
頻率最大和最小的函數是:
nlargest()
用於最頻繁的 'n' 值nsmallest()
用於最不頻繁的“n”值我有一個類似的問題,最好最緊湊的答案讓我們說前 n(默認為 5)最常見的值是:
df["column_name"].value_counts().head(n)
確定前 5 個,例如,使用 value_counts
top5 = df['column'].value_counts()
列出“top_5”的內容
top5[:5]
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]
它將給出前五個最常見的名稱:
df['name'].value_counts().nlargest(5)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.