首页 > 解决方案 > 熊猫从列中删除值

问题描述

您好,我从文件值创建了 pandas 数据框,我得到了一些看起来像的缺陷数据框

我的输入数据框

  agr_1                agr_2

 0,0,0,4,5,6,8,0       0,3,4,3,0,0,0
 0,5,6,0,5,5,0         0,3,4,5,5,6
 0,4,5,4,,5            0,4,3,4,5

我想删除零值并想取其余整数值的平均值而不考虑零我如何通过熊猫实现这一点

输出

 agr_1    agr_2      
    5      3.3
    4      4.25
    4.5    4

标签: pythonpython-3.xpandas

解决方案


想到的第一件事。没有人认为这更好。

pd.to_numeric(df.stack().str.split(',').explode(), errors='coerce') \
  .where(lambda x: x.ne(0)).mean(level=[0, 1]).unstack()

   agr_1     agr_2
0   5.75  3.333333
1   5.25  4.600000
2   4.50  4.000000

推荐阅读