同一数据帧的两列相减

2024-10-16 17:16:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想对同一数据帧的两列进行减法,col1行应该在[I+1]位置,col2应该在[I]位置。(Col1是col2的继承者)

我可以共享的代码部分,在上次返回时发布:

def calcul_TAT2(df):
    i=0
    for i in (range(len(df))):
        if  type(df['actual_gate_arrival_time']) is float or type(df['actual_gate_departure_time']) is float:
            return 'NaN'
        if  df['actual_gate_arrival_time'].lower() =='nan' or df['actual_gate_departure_time'].lower()=='nan':
            return 'NaN'
        else :
            actual_gate_arrival_time= (datetime(int(df['actual_gate_arrival_time'][6:10]),int(df['actual_gate_arrival_time'][3:5]),int(df['actual_gate_arrival_time'][:2]),int(df['actual_gate_arrival_time'][11:13]),int(df['actual_gate_arrival_time'][14:])))
            actual_gate_departure_time= (datetime(int(df['actual_gate_departure_time'][6:10]),int(df['actual_gate_departure_time'][3:5]),int(df['actual_gate_departure_time'][:2]),int(df['actual_gate_departure_time'][11:13]),int(df['actual_gate_departure_time'][14:])))       
        return df.loc[i+1,'actual_gate_departure_time']-df.loc[i,'actual_gate_arrival_time'] 
DHA['TAT']=DHA.apply(calcul_TAT2, axis=1)

TypeError: ("cannot do label indexing on <class 'pandas.core.indexes.base.Index'> with these indexers [1] of <class 'int'>", 'occurred at index 593484569.0')

Tags: dfreturniftimeistypefloatcol2