首页 > 解决方案 > 计算跨特定列的行中的特定整数值

问题描述

我有带有 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

标签: pythonpandasdataframecount

解决方案


你只应该这样做:

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

推荐阅读