Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python数据帧以获取特定行与总行的比率_Python_Dataframe - Fatal编程技术网

Python数据帧以获取特定行与总行的比率

Python数据帧以获取特定行与总行的比率,python,dataframe,Python,Dataframe,一个简单的数据帧。我想要一个百分比来显示22列“Tested”中的行数占总行数的百分比 i、 e。 1.“已测试”列中有5行,共22行 数据帧总共有15行 所以这个百分比是5/15=0.33 我在下面试过了,但结果是零 我怎样才能纠正它?多谢各位 import pandas as pd data = {'Unit_Weight': [335,335,119,119,52,452,19,19,19,165,165,165,724,724,16], 'Tested' : [22,12,14,16,

一个简单的数据帧。我想要一个百分比来显示22列“Tested”中的行数占总行数的百分比

i、 e。 1.“已测试”列中有5行,共22行

  • 数据帧总共有15行
  • 所以这个百分比是5/15=0.33

    我在下面试过了,但结果是零

    我怎样才能纠正它?多谢各位

    import pandas as pd
    
    data = {'Unit_Weight': [335,335,119,119,52,452,19,19,19,165,165,165,724,724,16],
    'Tested' : [22,12,14,16,18,20,22,24,26,28,22,22,48,50,22]}
    
    df = pd.DataFrame(data)
    
    num_row = df.shape[0]
    
    suspect_row = df[df["Tested"] == 22].shape[0]
    
    suspect_over_total = suspect_row/num_row
    
    print num_row             # 15
    print suspect_row         # 5
    
    print float(suspect_over_total)   # 0.0
    

    suspect\u over\u total=suspect\u row/num\u row
    表示您正在执行一个
    int
    /
    int
    操作,其结果为
    0.3333333333
    ,因此Python将给您一个
    int
    结果,
    0

    正如bubble所说,您应该将其中一个操作数转换为浮点值:

    suspect_over_total=浮动(suspect_行)/num_行#0.33333
    
    您还在使用Python 2.x吗。?只需将其中一个数字转换为float:
    float(可疑行)/num行
    @bubble,谢谢。你能回答我吗?@MarkK,顺便说一句,
    len(df[df[“Tested”]==22])
    看起来比
    df[df[“Tested”]==22]更有效。shape[0]