我写了这段代码,但我的输出并不像预期的那样。似乎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,数字是一样的?我做错了什么?任何帮助将不胜感激!在
代替
^{1}$range(len(df_z)
,请尝试使用:由于
range
从0开始,并且i=0的情况已经在for循环之前完成(因此它被包含两次)。在相关问题 更多 >
编程相关推荐