Интегрируйте функцию с pandas и scipy.integrate.quad - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь интегрировать функцию с pandas и scipy наиболее элегантным способом, но при выполнении получаю следующую ошибку:

TypeError: объект 'float' не подлежит подписке

Это предварительный просмотр набора данных:

           0       1    Live  time:  11646
0        1.0     2.0     0.0    0.0    0.0
1        2.0     3.0     0.0    0.0    0.0
2        3.0     4.0     0.0    0.0    0.0
3        4.0     5.0     1.0    0.0    0.0
4        5.0     6.0     2.0    0.0    0.0
...      ...     ...     ...    ...    ...
4094  4095.0  4096.0  4092.0    1.0    0.0
4095  4096.0  4097.0  4093.0    0.0    0.0
4096  4097.0  4098.0  4094.0    1.0    0.0
4097  4098.0  4099.0  4095.0    2.0    0.0
4098  4099.0  4100.0  4096.0    0.0    0.0

Я знаю, что есть другие способы решения проблемы, но я хотел бы сохранить лямбда-функцию, потому что она упрощает работу. .

Код:

import pandas as pd
import pylab as plt
import numpy as np
from scipy.integrate import quad

dados = pd.read_csv('data.csv', sep=',| |\t|\s+', engine='python')
dados = dados.apply(pd.to_numeric,errors='coerce').fillna(0).astype('float')

def func(x):
    return x[3]/x[3].max()

dados['I'] = dados.apply(lambda x: quad(func, 140.0, 4000.0), axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...