簡體   English   中英

Pandas 獲取列的最頻繁值

[英]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.Seriesargmax可用於實現最大價值的關鍵。

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 用於獲取最頻繁使用的項目的數量

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM