数据帧对选择的影响



我得到了包含各种数据的数据帧:

tag_id                    time  AA       AA_id  RSSI       p       t  status    vs  unitag  delta_time
0   15729759 2020-11-18 09:18:15.473  AA  0x00022646   -28  186000  290.15       0  2.82  Unitag         NaN
1   15729759 2020-11-18 09:18:16.039  _B  0x00000000     0  186000  290.15       0  2.82  Unitag         NaN
2   15729724 2020-11-18 09:18:31.069  AA  0x00022646   -31  187000  291.15       0  2.81  Unitag         NaN
3   15729724 2020-11-18 09:18:31.621  _B  0x00000000     0  187000  291.15       0  2.81  Unitag         NaN
4   14946100 2020-11-18 09:18:45.304  AA  0x00022646   -22  190000  290.15       0  2.81  Unitag         NaN
5   14946100 2020-11-18 09:18:45.867  _B  0x00000000     0  190000  290.15       0  2.81  Unitag         NaN
6   14945509 2020-11-18 09:19:01.916  AA  0x00022646   -30  189000  291.15       0  2.81  Unitag         NaN
7   14945509 2020-11-18 09:19:02.466  _B  0x00000000     0  189000  291.15       0  2.81  Unitag         NaN
8   15729736 2020-11-18 09:19:07.454  AA  0x00022646   -28  186000  290.15       0  2.82  Unitag         NaN
9   15729736 2020-11-18 09:19:07.995  _B  0x00000000     0  186000  290.15       0  2.82  Unitag         NaN
10  15729762 2020-11-18 09:19:08.672  AA  0x00022646   -25  185000  290.15       0  2.83  Unitag         NaN
11  15729762 2020-11-18 09:19:09.242  _B  0x00000000     0  185000  290.15       0  2.83  Unitag         NaN
12  15729759 2020-11-18 09:19:17.512  AA  0x00022646   -28  186000  290.15       0  2.82  Unitag         NaN
13  15729759 2020-11-18 09:19:18.069  _B  0x00000000     0  186000  290.15       0  2.82  Unitag         NaN
14  15729724 2020-11-18 09:19:34.535  AA  0x00022646   -32  186000  291.15       0  2.81  Unitag         NaN
15  15729724 2020-11-18 09:19:35.085  _B  0x00000000     0  186000  291.15       0  2.81  Unitag         NaN
16  14946100 2020-11-18 09:19:48.615  AA  0x00022646   -22  189000  290.15       0  2.81  Unitag         NaN
17  14946100 2020-11-18 09:19:49.206  _B  0x00000000     0  189000  290.15       0  2.81  Unitag         NaN
18  14945509 2020-11-18 09:20:04.857  AA  0x00022646   -30  189000  291.15       0  2.81  Unitag         NaN
19  14945509 2020-11-18 09:20:05.415  _B  0x00000000     0  189000  291.15       0  2.81  Unitag         NaN

还有我想计算的1个空列:delta_time。我想做一个简单的time - time.shift(),但通过选择对应于相同tag_id和相同AA的行

所以我尝试了这个:

index_d = {}
for tag in df.tag_id.unique():
index_d[tag] = df.loc[df['tag_id']==tag].index
for antenna_type in df.AA.unique():
for tag in df.tag_id.unique():
df.loc[df['tag_id']==tag].loc[df['AA']==antenna_type]['delta_time'] = df.iloc[index_d[tag]].loc[df['AA']==antenna_type].time - df.iloc[index_d[tag]].loc[df['AA']==antenna_type].time.shift()

但是我的delta_time列保持为空。。。知道怎么做吗??

您可以在组内使用shift,因此不必为相同的天线类型进行滤波:

df['prev_time'] = df.groupby('AA')['time'].shift()

最新更新