Используя функцию pandas, как выполнить следующий анализ для того же кода, который делается для индивидуального - PullRequest
0 голосов
/ 26 марта 2020

Данные:

    Sr.No   Village    Taluka  District      LSWI   TEMP  FAPAR  PAR
0       1  Belundgi  Afsalpur  Gulbarga  0.299471  19.25     12  2.5
1       2  Belundgi  Afsalpur  Gulbarga  0.268066  18.26     14  3.2
2       3  Belundgi  Afsalpur  Gulbarga  0.252687  17.25     14  3.0
3       4  Belundgi  Afsalpur  Gulbarga  0.271744  16.28     15  2.0
4       5  Belundgi  Afsalpur  Gulbarga  0.258911  19.26     17  3.0
5       6  Belundgi  Afsalpur  Gulbarga  0.295071  10.00     15  5.0
6       7  Belundgi  Afsalpur  Gulbarga  0.297177  11.00     12  4.0
7       8  Gobbur B  Afsalpur  Gulbarga  0.265798  15.00     14  3.0
8       9  Gobbur B  Afsalpur  Gulbarga  0.206717  14.25     15  1.0
9      10  Gobbur B  Afsalpur  Gulbarga  0.134919  21.25     14  2.0
10     11  Gobbur B  Afsalpur  Gulbarga  0.283957  24.52     15  6.0
11     12  Gobbur B  Afsalpur  Gulbarga  0.241955  21.25     10  3.0

Я проделал некоторую работу.

import pandas as pd
import numpy as np
df=pd.read_excel(r'C:\Users\lenovo2\Desktop\data.xlsx')
LSWI=df['LSWI']
LSWI_Max=LSWI.loc[df['LSWI'].idxmax()]
W=np.array(1-df['LSWI'])/np.array(1+LSWI_Max)
T1=np.array(df['TEMP']-5)*np.array(df['TEMP']-35)
T2=T1-np.array(df['TEMP']-25)*np.array(df['TEMP']-25)
T=T1/T2
Delta=df['PAR']*df['FAPAR']*3

Выше кода, я должен подать заявление в деревне. Поэтому я пытаюсь использовать функцию для вычисления, но формула функции не работает должным образом, вот мой код, который дает мне ошибку

def f(x):
    x['LSWI'] =x.groupby(["Taluka","Village"])['LSWI'].transform('sum')
    x['LSWI_Max']=x['LSWI'].loc[df['LSWI'].idxmax()]
    x['W']=1-x['LSWI'])/1+x['LSWI_Max']
    x['T1']=x['TEMP']-5)*x['TEMP']-35)
    x['T2']=x['T1']-df['TEMP']-25)*df['TEMP']-25)
    x['T']=x['T1']/x['T2']
    x['Delta']=df['PAR']*df['FAPAR']*3
    return x

df1=df.groupby(["Taluka","Village"]).apply(f)

Что не так в коде функции, я получил ошибку, любые идеи, как сделать это в формуле функции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...