我有一个数据帧:
TripID, x, y
adasd, 2, 3
adasd, 3, 2
adasd, -1, 3
fgrgr, 4, 1
ect...
还有我所有的tripid列表。目前,我正在尝试创建一个For循环,在其中为每个TripID创建一个临时数据帧,对其执行计算,然后将输出附加到一个新的数据帧。temp数据帧示例如下:
TripID, x, y, z, a
adasd, 2, 3, 3, 1.019460
adasd, 3, 2, -1, 1.319678
adasd, -1, 3, N/A, N/A
我想在输出数据帧中添加以下行:
adasd, 2.339138
我的代码是:
for ID in tripList:
temp = df.loc[df['TripID'] == ID]
temp['z'] = temp['x'].shift(periods=-1)
temp['a'] = np.vectorize(myfunction)(temp['x'],temp['y'],temp['z'])
temp2 = temp.groupby('TripID')['a'].sum()
temp2 = temp2.reset_index()
output = pd.concat([output,temp2])
我想要的输出是一个有两列的数据帧,一列用于tripID,另一列用于我的'a'值。我不想它有任何重复的身份证。然而,我不能concate我的temp2变量,因为它转换成一个系列,而不是一个数据帧
如果你需要澄清,请告诉我
而不是我以前使用groupby的版本:
我用以下代码创建了一个新的数据帧:
相关问题 更多 >
编程相关推荐