列Igonorig Alpha数值中的值计数

时间:2018-08-08 18:26:58

标签: python pandas count

在这里的第一篇文章,我正在尝试在Excel文件中查找值的总数。因此,在导入文件后,我需要运行一个条件,该条件是对除0以外的所有值进行计数,并且在找到0的情况下将其设为空白。

> df6 = df5.append(df5.ne(0).sum().rename('Final Value'))

我尝试了上面的方法,但是不能正常工作,它也在计算列名,我只需要计算浮点值。

演示数据框:

              0        1       2       3
ID_REF      1007_s  1053_a  117_at  121_at
GSM95473    0.08277 0.00874 0.00363 0.01877
GSM95474    0.09503 0.00592 0.00352 0
GSM95475    0.08486 0.00678 0.00386 0.01973
GSM95476    0.08105 0.00913 0.00306 0.01801
GSM95477    0.00000 0.00812 0.00428 0
GSM95478    0.07615 0.00777 0.00438 0.01799
GSM95479    0       0.00508 1       0
GSM95480    0.08499 0.00442 0.00298 0.01897
GSM95481    0.08893 0.00734 0.00204 0
                0        1       2       3
ID_REF        1007_s  1053_a  117_at  121_at

这些是列名索引值,在计数时需要忽略

输出在计数后应如下所示:

  

决赛8 9 9 5

2 个答案:

答案 0 :(得分:0)

如果只需要计数,但更改数据框中的值,则可以使用applymap方法将函数应用于数据框中的每个单元格。首先创建一个检查浮点的函数:

def floatcheck(value):
    if isinstance(value, float):
        return 1
    else:
        return 0

然后将其应用于您的数据框:

df6 = df5.applymap(floatcheck)

如果值是浮点数,则将创建一个数据框,其值为1;否则为0。然后,您可以应用sum方法:

df7 = df6.append(df6.sum().rename("Final Value"))

答案 1 :(得分:0)

我能够解决问题,所以这里是:

df5 = df4.append(pd.DataFrame(dict(((df4[1:] != 1) & (df4[1:] != 0)).sum()), index=['Final']))

df5.columns = df4.columns

went = df5.to_csv("output3.csv")

我所做的是我更改了起始索引,所以我没有计算第一位字母数字的行,然后我才对其进行了比较。

感谢您的回复。