Python数据框,以获取特定行占总数的比例

时间:2019-04-17 02:57:21

标签: python dataframe

一个简单的数据框。我想有一个百分比来显示“已测试”列中的22的行数,占总行数。

即 1.“已测试”列中有5行22。

  1. 数据帧共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

1 个答案:

答案 0 :(得分:1)

suspect_over_total = suspect_row/num_row表示您正在执行int结果的int / 0.3333333操作,因此Python将为您提供int结果,{{1} } 在这种情况下。

正如气泡所说,您应该将操作数之一转换为0

float