所以我有这个数据框(只显示了一部分)


    名称CEMS发出同意书
    Ht CEMS-4 61 50
    Ht CEMS-5 33.75 50
    Ld CEMS-1 21.625 100
    嘘CEMS-3 71.4 100



现在,我要做的是找到发射的平均值,然后从特定的CEMS的同意中减去它。

我在做什么


    mod = df.consent.iloc [0]
    eMean = df ['emit']。mean()
    eMean =(“%.2f”%eMean)
    diff1 = eMean-mod
    diff = float(diff1)/ float(mod)



我得到这个错误


    diff1 = eMean-mod
    TypeError:ufunc'subtract'不包含签名匹配类型为dtype('S21')dtype('S21')dtype('S21')的循环



请帮帮我

最佳答案

我认为需要删除对eMean中的变量eMean = ("%.2f" % eMean)的赋值,并在必要时将值强制转换为浮点数:

mod = float(df.consent.iloc[0])
eMean = df['emit'].astype(float).mean()
print ("%.2f" % eMean)
diff1 = eMean - mod
diff = diff1 / mod

关于python - Pandas 在几行中的特定列中找到最小值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52252477/

10-12 21:38