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

如何按计数超过整个工作表中特定值的值过滤数据框?

如何按计数超过整个工作表中特定值的值过滤数据框?

慕姐4208626 2023-03-22 17:06:50
我有一个数据框如下Genes   s1  s2  s3  s4  s5  s6  s7  s8  s9  s10AB1     0   0   0   0   0   0   0   0   0   0GB2     1   0   0   25  0   10  0   0   5   0AB3     0   0   0   0   0   0   0   0   0   0AB4     0   0   0   0   0   0   0   0   0   0hB5     0   0   50  0   66  0   88  15  0   0OB6     0   0   0   0   0   0   0   0   0   0AB7     25  40  30  45  44  15  0   80  85  10UB8     0   0   0   0   0   0   0   0   0   0YB9     0   1   0   5   1   0   5   4   2   2AB10    0   0   0   0   0   0   0   0   0   0TB11    0   0   0   0   0   0   0   0   0   0AB12    0   0   0   0   0   0   0   0   0   0我想过滤至少4个样本中计数大于10的基因预期的输出是Genes   s1  s2  s3  s4  s5  s6  s7  s8  s9  s10hB5     0   0   50  0   66  0   88  15  0   0AB7     25  40  30  45  44  15  0   80  85  10我尝试了以下代码,但没有给出预期的结果import pandas as pdcounts = pd.read_excel("rna.xlsx")counts = counts[(counts > 0).sum(axis=1) >= 4]counts.to_csv("output.tsv", sep="\t", header=False)
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

比较值 by10而不是 by 0,如果第一列未转换为索引 add index_col=0:


counts = pd.read_excel("rna.xlsx", 

                        index_col=0)



counts = counts[(counts > 10).sum(axis=1) >= 4]

print (counts)

       s1  s2  s3  s4  s5  s6  s7  s8  s9  s10

Genes                                         

hB5     0   0  50   0  66   0  88  15   0    0

AB7    25  40  30  45  44  15   0  80  85   10


查看完整回答
反对 回复 2023-03-22
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

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