如果超过一半的值是零,则删除行-Python

时间:2018-07-31 16:37:33

标签: python python-3.x pandas dataframe

我有一个熊猫数据框,看起来像:

ENSG0001 0, 74, 54,2
ENSG0002  0, 3, 0, 4
ENSG0003 3, 4, 2, 24

如果一半以上的值是零,我想删除任何行。像这样:

ENSG0001 0, 74, 54,2
ENSG0003 3, 4, 2, 24

有什么办法吗?

2 个答案:

答案 0 :(得分:6)

IIUC

for axi in fig.axes:
    axi.spines['left'].set_visible(False)

答案 1 :(得分:2)

使用pd.DataFrame.iloc和布尔索引:

mask = (df.iloc[:, 1:] == 0).sum(1) >= len(df.columns[1:]) / 2
res = df[~mask]

print(res)

          0  1   2   3   4
0  ENSG0001  0  74  54   2
2  ENSG0003  3   4   2  24