Панды Найти минимальное значение в определенном столбце в нескольких строках - PullRequest
0 голосов
/ 10 сентября 2018

Итак, у меня есть этот фрейм данных (отображается только его часть)


    name    CEMS    emit    consent
    Ht      CEMS-4  61      50
    Ht      CEMS-5  33.75   50
    Ld      CEMS-1  21.625  100
    Sh      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' did not contain a loop with signature matching types dtype('S21') dtype('S21') dtype('S21')

Помогите мне в этом, пожалуйста

1 Ответ

0 голосов
/ 10 сентября 2018

Я думаю, что нужно удалить присваивание переменной 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...