如何根据列中元素的数量从熊猫数据框中删除一行

新手上路,请多包涵

在下面 pandas.DataFframe

 df =
    alfa    beta   ceta
    a,b,c   c,d,e  g,e,h
    a,b     d,e,f  g,h,k
    j,k     c,k,l  f,k,n

如何删除 alfa 的列值超过 2 个元素的行?这可以使用长度函数来完成,我知道但没有找到具体答案。

 df = df[['alfa'].str.split(',').map(len) < 3]

原文由 everestial007 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 354
1 个回答

您可以依次使用 pandas.DataFrame.apply() 对每一行进行测试

print(df[df['alfa'].apply(lambda x: len(x.split(',')) < 3)])

给出:

   alfa   beta   ceta
1  a,b  d,e,f  g,h,k
2  j,k  c,k,l  f,k,n

原文由 Stephen Rauch 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题