美文网首页实用小公举
[python]pandas学习

[python]pandas学习

作者: happyxhz | 来源:发表于2019-02-26 14:58 被阅读0次

    参考资料:

    pandas用法大全

    2019-02-26

    目标:

    将1000G部分过滤,大于0.01部分全部删除,但是有些没有收录的snp会标注为‘.’

    遇到的问题:

    直接使用下面的命令,则无法过滤,原因出在:该列所有的值格式为str

    df.ix[df['1000G_ALL'] < 0.01]
    

    解决的代码:

    写个转化的函数,然后用apply命令

    df['1000G_ALL'] = df['1000G_ALL'].apply(lambda x:kitty(x))
    df.ix[df['1000G_ALL']<0.01]
    

    可以查看一下df['1000G_ALL'].apply的帮助文档,该命令可以传入参数,解决了之前map的缺陷,eg:

    series.apply(subtract_custom_value, args=(5,))
    series.apply(add_custom_values, june=30, july=20, august=25)
    

    参考资料:pandas数据类型转换

    目标:

    筛选有害位点

    解决代码

    #滤去不带red字符的列,缩小范围
    df.filter(like='red')
    #或指定列过滤
    df.filter(items=['SIFT_pred','Polyphen2_HDIV_pred','Polyphen2_HVAR_pred','MutationTaster_pred','CADD_phred'])
    

    目标:

    统计某列中'D'的个数,'F'的个数

    #取某列的level
    df['class'].unique()
    #统计个数
    from collections import Counter
    Counter(df['class'])
    

    2019-03-26

    目标:滤去某列中带有某字段的列

    参考: pandas过滤包含特定字符串的行

    解决方法:

    import re
    df[~df.Genotype.str.contains(r'^del|ins')]
    

    其中~代表取反,相当于not

    相关文章

      网友评论

        本文标题:[python]pandas学习

        本文链接:https://www.haomeiwen.com/subject/jquayqtx.html