[英]Equivalent of “table” of R in python
在R中,我们可以使用table
找到每个项目的频率。 这是R中的一个例子:
x <- c(1,1,1,1,2,2)
y <- c("a","a","b","a","a","b")
table(x,y)
# y
#x a b
# 1 3 1
# 2 1 1
如何在python中实现它,而x和y是DataFrame? 我是Python的新手,我搜索了很多,但我无法找到答案。 我应该提一下,我读过这篇文章,但我无法在我的案例中实现它?
我们可以用pandas
crosstab
做到这一点
import numpy as np;
import pandas as pd;
x = np.array([1, 1, 1, 1, 2, 2]);
y = np.array(["a", "a", "b", "a", "a", "b"]);
pd.crosstab(x, y, rownames = ['x'], colnames = ['y']);
# y a b
#x
#1 3 1
#2 1 1
计算出现次数R:
sort(table(df$source), decreasing = TRUE)
Python熊猫:
df.source.value_counts()
#or
df["source"].value_counts()
资料来源: R与Python - 一对一的比较
用于计算两列之间的出现次数
与R
table(cdc$gender,cdc$smoke100)
用python
pd.crosstab(index=df['gender'], columns=df['smoke100'])
资料来源: 看看这个答案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.