python - 计算几种条件下的 T/F 值

标签 python pandas count

我是使用 pandas 的初学者。

我正在寻找几位患者的突变。我有 16 个不同的条件。我只是写了一个关于它的代码,但是如何通过 for 循环来做到这一点?我尝试在 MUT 列上找到更改并将它们设置为 True 和 False。然后尝试计算真/假数字。我只做了 4 个。

你能推荐一种更简单的方法,而不是将相同的代码写 16 次吗?

s1=df["MUT"]
A_T= s1.str.contains("A:T")
ATnum= A_T.value_counts(sort=True)

s2=df["MUT"]
A_G=s2.str.contains("A:G")
AGnum=A_G.value_counts(sort=True)

s3=df["MUT"]
A_C=s3.str.contains("A:C")
ACnum=A_C.value_counts(sort=True)

s4=df["MUT"]
A__=s4.str.contains("A:-")
A_num=A__.value_counts(sort=True)

最佳答案

我不是使用 Pandas 的专家,所以不知道是否有更简洁的方法来执行此操作,但也许以下方法可行?

chars = 'TGC-'
nums = {}

for char in chars:
    s = df["MUT"]
    A = s.str.contains("A:" + char)
    num = A.value_counts(sort=True)
    nums[char] = num

ATnum = nums['T']
AGnum = nums['G']
# ...etc

基本上,遍历每个唯一字符(T、G、C、-),然后提取您需要的值,最后将数字粘贴到字典中。然后,一旦循环完成,您就可以从字典中取回您需要的任何数字。

关于python - 计算几种条件下的 T/F 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31524887/

相关文章:

python - 使用 Django 比较两个数据库并使用结果创建第三个数据库?

python - Groupby int 组变量和 float 值的平均值不返回任何内容

python - Pandas 系列: conditional rolling standard deviation

python - 如何删除两列之间的重复项,但在各自的列中保留唯一值?

mysql - 将逗号分隔字段中的 mysql 计数值分组

statistics - 为什么Wemf和Google Analytics(分析)告诉我那么不同?

python - 无法在电子邮件中添加附件

python - 如何修复“"' str'对象没有属性 'META'”错误?

Python readlines() 将行分成两部分

mysql - 获取mysql结果并统计特定字段