Pandas在范围内迭代。同一号码两次?

2024-10-05 12:05:17 发布

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

我写了这段代码,但我的输出并不像预期的那样。似乎for循环在第一次迭代中运行了两次,然后错过了第二次,直接跳到第三次。我看不出哪里出了问题,所以有人能指出错误吗?谢谢您!在

代码如下:

i = 0
df_int = df1[(df1.sLap > df_z.Entry[i]) & (df1.sLap < df_z.Exit[i]) & (df1.NLap == Lap1)]

df_Entry = df_int.groupby(df_int.BCornerEntry).aggregate([np.mean, np.std])


df_Entry.rename(index={1:  'T'+str(df_z['Turn Number'][i])}, inplace=True)

for i in range(len(df_z)):
    df_int = df1[(df1.sLap > df_z.Entry[i]) & (df1.sLap < df_z.Exit[i]) & (df1.NLap == Lap1)]

    df_Entry2 = df_int.groupby(df_int.BCornerEntry).aggregate([np.mean, np.std])

    df_Entry2.rename(index={1:  'T'+str(df_z['Turn Number'][i])}, inplace=True)

    df_Entry = pd.concat([df_Entry, df_Entry2])

df_z是一个excel文档,其数据如下:

^{pr2}$

那么df1是一个包含30列和10行的海量数据帧(因此是平均值和标准值)。在

我的输出应该是:

                tLap            
                mean       std      
BCornerEntry                                                          
T1              6.845490  0.591227      
T2             14.515195  0.541967      
T3             19.598690  0.319181     
T4             21.555500  0.246757     
T5             34.980000  0.518170     
T6             37.245000  0.209284     
T7             40.220541  0.322800.... and so on     

但是我得到的是:

                tLap            
                mean       std      
BCornerEntry                                                          
T1              6.845490  0.591227      
T1              6.845490  0.591227      
T3             19.598690  0.319181     
T4             21.555500  0.246757     
T5             34.980000  0.518170     
T6             37.245000  0.209284     
T7             40.220541  0.322800..... and so on    

T2还是T1,数字是一样的?我做错了什么?任何帮助将不胜感激!在


Tags: 代码dffornpexitmeanintdf1

热门问题