首页 > 解决方案 > 如何为特定列创建一个行数大于零的数据框?

问题描述

我有一个这样的数据框

name  skill_1  skill_2
john  2        0
james 0        1

对于以“技能”开头的每一列,我希望将上面的行计数为零。

新数据框的预期输出:

skills   count
skill_1  1   
skill_2  1

我怎么能用 Pandas 做到这一点?

标签: pythonpandas

解决方案


你可以试试:

df.filter(like="skill").gt(0).sum(axis=0).to_frame("count")
  • filter对于包含的列"skill"
  • 将那些是greater than 0asTrue和其他的条目标记为False
  • 逐行求和 ( axis=0) whereTrue将被视为1False 0获得计数
  • 转换to数据frame

要得到

         count
skill_1      1
skill_2      1

推荐阅读