【发布时间】:2017-09-09 09:50:33
【问题描述】:
我有一个这样的数据框。
c_name p_name
A X
B Y
B A1
C ZX
D G4
D H9
我想要每个 c_name 和每个 p_name 的频率。 我通过使用
在 R 中获得正确的输出data.frame(table(df1$c_name,df1$p_name))
但是如果我申请的话,在 python 中
pd.crosstab(df1['c_name'],df1['p_name']) 它给出了结果,但格式不正确。
我的期望是:
c_name p_name Freq
A X 1
B X 0
B X 0
C X 0
D X 0
D X 0
A Y 0
B Y 1
B Y 0
C Y 0
D Y 0
D Y 0 ..........so on.
提前致谢。
【问题讨论】:
-
交叉制表应该为您提供每组的频率,这可能不是您想要的。你试过 pandas.Series.value_counts 吗?
-
您是否也在寻找 R(或仅在 Python)中的解决方案?