Я попробовал и надеюсь, что это может помочь вам немного: -
Сверху ответ я сделал dataframe
from io import StringIO
import numpy as integrate
s = """
NAME,Int,K,Z
A,0,12,50
A,1,34,50
A,2,47,35
A,3,19,31
B,0,25,28
B,1,8,3
B,2,4,27
B,3,18,10
C,0,14,15
C,1,10,19
C,2,46,1
C,3,19,41
"""
df = pd.read_csv(StringIO(s), sep=',')
print(df)
Вам также необходимо преобразовать в float
виспользуйте numpy
функциональность
df['Int'] = df['Int'].astype(float)
df['K'] = df['K'].astype(float)
df['Z'] = df['Z'].astype(float)
del df['NAME']
Вы передавали логическое возвращение, используйте commas
вместо
def integral(DF):
for i in DF.loc[:].values: #use values instead
print(i)
integral=integrate.trapz(y=DF.loc[i],x=DF.loc[i],dx=1)
return DF.loc[i], integral
integral(df)
>>
( Int K Z
3.0 3.0 19.0 31.0
19.0 NaN NaN NaN
41.0 NaN NaN NaN, array([476., nan, nan]))
Я не уверен, что вам нужен такой вывод, но надеюсь, что это поможет.