代码之家  ›  专栏  ›  技术社区  ›  Hadij dmeu

python中R的“table”的等价物

  •  13
  • Hadij dmeu  · 技术社区  · 7 年前

    在里面 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
    

    当x和y作为数据帧时,如何在python中实现它? 我对Python完全陌生,我搜索了很多,但找不到答案。我应该提到我读过 this article 但我不能在我的情况下实现它?

    2 回复  |  直到 7 年前
        1
  •  19
  •   akrun    7 年前

    我们可以用 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
    
        2
  •  12
  •   anasmorahhib    6 年前

    计数发生次数 R:

    sort(table(df$source), decreasing = TRUE)
    

    巨蟒熊猫:

    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'])
    

    资料来源: look at this answer