2024-10-17 08:33:18 发布
网友
我有一个熊猫数据帧,看起来像:
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
有什么办法吗?你知道吗
IIUC公司
n=(df.shape[1]-1)//2 df[df.eq(0).sum(1)<n] Out[589]: 1 2 3 4 5 0 ENSG0001 0 74 54 2 2 ENSG0003 3 4 2 24
使用^{}和布尔索引:
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
IIUC公司
使用^{} 和布尔索引:
相关问题 更多 >
编程相关推荐