【问题标题】:count specific integer value in a row across specific columns计算跨特定列的行中的特定整数值
【发布时间】:2019-08-20 18:48:02
【问题描述】:

我有带有 12 列的 pandas 数据框,每列的值随机为 0 到 12。我想创建包含这些特定值的计数的新列。例如 newvar1 将在每一行中包含“1”的计数。另一个新的结果变量将包含某些特定列中某些特定值的计数

我的数据框是这样的

v1 v2 v3 v4 
0   1  2  1 
2   3  1  1 

我想要的输出是这样的

v1 v2 v3 v4 newvar1_count_of_1 newvar1_count_of_1_ in_first_2_col
0   1  2  1       2                            1
2   3  1  1       2                            0

【问题讨论】:

    标签: python pandas dataframe count


    【解决方案1】:

    你应该这样做:

    df1['newvar1_count']=df1[df1.eq(1)].sum(axis=1)
    df1['newvar1_count_of_1_ in_first_2_col']=df1[df1.eq(1)].loc[:,['v1','v2']].sum(axis=1)
    

    应用于您的代码:

    df1['newvar1_count'] = df1.eq(1).sum(axis=1)
    df1['newvar1_count_of_1_ in_first_2_col']=df1[df1.eq(1)].loc[:,['v1','v2']].sum(axis=1)
    df1
    

    输出:

        v1  v2  v3  v4  newvar1_count   newvar1_count_of_1_ in_first_2_col
      0 0   1   2   1   2.0             1.0
      1 2   3   1   1   2.0             0.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      • 2022-12-22
      • 2014-06-20
      相关资源
      最近更新 更多