在 中Python,可以使用以下方法获取列表中值的计数Series.value_counts():
import pandas as pd
df = pd.DataFrame()
df['x'] = ['a','b','b','c','c','d']
df['y'] = list(range(1,7))
df['x'].value_counts()
c    2
b    2
a    1
d    1
Name: x, dtype: int64
Run Code Online (Sandbox Code Playgroud)
在 中R,我必须使用三个单独的命令。
df <- tibble(x=c('a','b','b','c','c','d'), y=1:6)
df %>% group_by(x) %>% summarise(n=n()) %>% arrange(desc(n))
x   n
b   2
c   2
a   1
d   1
Run Code Online (Sandbox Code Playgroud)
在 R 中有更短/更惯用的方法吗?还是我最好编写自定义函数?
小智 10
tidyverse 有dplyr::count,这是“group_by”和“summarize”获取计数的快捷方式。
df <- tibble(x=c('a','b','b','c','c','d'), y=1:6)
dplyr::count(df, x, sort = TRUE)
# A tibble: 4 x 2
  x         n
  <chr> <int>
1 b         2
2 c         2
3 a         1
4 d         1
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           4189 次  |  
        
|   最近记录:  |