为了账号安全,请及时绑定邮箱和手机立即绑定

根据对列中每个不同值具有特定条件的行计算 Pandas Dataframe 中的 perc

根据对列中每个不同值具有特定条件的行计算 Pandas Dataframe 中的 perc

一只斗牛犬 2022-12-20 12:08:52
我有一个带有示例值的数据框,如下所示`col1   col2 A     ['1','2','er'] A     [] B     ['3','4','ac'] B     ['5'] C     []`我想计算 col1 中每个值的总行数与 col2 中非空列表的总行数的百分比。如果 col1 中只有一个值,我就能做到。我正在寻找一种迭代地执行此操作的解决方案。谢谢您的帮助。
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

我相信您需要比较更大的列表长度0,转换为数字然后聚合mean:


df1 = df['col2'].str.len().gt(0).view('i1').groupby(df['col1']).mean().reset_index(name='%')

print (df1)

  col1    %

0    A  0.5

1    B  1.0

2    C  0.0


查看完整回答
反对 回复 2022-12-20
  • 1 回答
  • 0 关注
  • 61 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信