在 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的新手,我搜索了很多,但我无法找到答案。我应该提一下,我读过this article,但在我的情况下我无法实现它?
答案 0 :(得分:11)
我们可以使用crosstab
pandas
执行此操作
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
答案 1 :(得分:3)
计数事件 R:
sort(table(df$source), decreasing = TRUE)
Python熊猫:
df.source.value_counts()
#or
df["source"].value_counts()
来源:R vs Python - a One-on-One Comparison
用于计数两列之间的出现次数
与R
table(cdc$gender,cdc$smoke100)
使用python
pd.crosstab(index=df['gender'], columns=df['smoke100'])