Python 如何为specifics列创建一个行数大于零的dataframe?
我有一个这样的数据帧Python 如何为specifics列创建一个行数大于零的dataframe?,python,pandas,Python,Pandas,我有一个这样的数据帧 name skill_1 skill_2 john 2 0 james 0 1 我想为以“skill”开头的每一列计算零以上的行数 新数据帧的预期输出: skills count skill_1 1 skill_2 1 如何处理熊猫?您可以尝试: df.filter(like=“skill”).gt(0).sum(axis=0).to_帧(“count”) 为包含“skill” 将greaterthan0的条目标记为T
name skill_1 skill_2
john 2 0
james 0 1
我想为以“skill”开头的每一列计算零以上的行数
新数据帧的预期输出:
skills count
skill_1 1
skill_2 1
如何处理熊猫?您可以尝试:
df.filter(like=“skill”).gt(0).sum(axis=0).to_帧(“count”)
为包含
“skill”
- 将
reaterg
hant
的条目标记为0
,其他条目标记为True
False
- 按行求和(
),其中axis=0
将被视为True
和1
False
,以获得计数0
- 将
数据转换为
帧
count
skill_1 1
skill_2 1
只需按
“skill”
列上的条件进行筛选:
作为pd进口熊猫
df = pd.DataFrame(columns=['name','skill_1','skill_2'],
data=[['john',2,0],
['james',0,1]])
skill_cols = [x for x in df.columns if 'skill' in x]
subset_df = df[df[skill_cols] > 0][skill_cols]
column_count = subset_df.count()
这是一个非常好的解决方案!