【发布时间】:2020-06-11 22:56:15
【问题描述】:
在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
在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
在 R 中有更短/更惯用的方法吗?还是我最好写一个自定义函数?
【问题讨论】:
-
dplyr::count(df, x, sort = TRUE) -
table(df$x)怎么样 -
谢谢@rpolicastro,这就是我想要的!如果您提交,我可以标记为答案。
-
很高兴我能帮上忙!我提交了答案。