制作具有连续变量的列联表

时间:2016-06-04 11:40:45

标签: python

我在python中遇到了问题。我想创建一个列联表,但我有变量,这是连续的。 假设:

a=[1,2,5,9,10,11.3,11.9,12.5,18.8]
b=["yes","no","yes","no","yes","no","no","no","yes"]

我想创建一个类似于

的列联表
              yes   | no
[1,8]          2      1
[9,18.8]       2      4

怎么做?提前致谢。我查看了pandas中的几个函数,比如cut和crosstab,但是我无法达到我的目的。

1 个答案:

答案 0 :(得分:2)

pandas解决方案是这样的:

构建数据框:

df = pd.DataFrame({"a": a, "b": b})

使用pd.cut查找间隔并将其传递给crosstab

pd.crosstab(pd.cut(df['a'], bins = [1, 8, 18.8], include_lowest=True), df['b'])
Out[41]: 
b          no  yes
a                 
[1, 8]      1    2
(8, 18.8]   4    2