如何从单独列的特定行填充列值-python
我有下面的数据框如何从单独列的特定行填充列值-python,python,sorting,pandas,append,Python,Sorting,Pandas,Append,我有下面的数据框 tripid timepointid actualarrivaltime date time temp 0 4292837 I 299.083333 2014-04-01 04:59:04 NaN 1 4292837 H 316.666667 2014-04-01 05:16:40 NaN 2 4292837 G 320.466667 20
tripid timepointid actualarrivaltime date time temp
0 4292837 I 299.083333 2014-04-01 04:59:04 NaN
1 4292837 H 316.666667 2014-04-01 05:16:40 NaN
2 4292837 G 320.466667 2014-04-01 05:20:28 NaN
3 4292837 F 323.066667 2014-04-01 05:23:04 NaN
4 4292839 I 376.783333 2014-04-01 06:16:46 NaN
5 4292839 H 386.100000 2014-04-01 06:26:06 NaN
6 4292839 G 389.116667 2014-04-01 06:29:07 NaN
7 4292839 F 394.466667 2014-04-01 06:34:28 NaN
我无法正确排序数据帧。我需要为每次旅行按日期排序,然后按timepointid I的到达时间排序。出现此问题的原因是tripid值不遵循任何模式
我创建了一个temp列,用于填充每次行程的timepointid I处的时间,以便数据帧可以正确排序。然而,我对python相当陌生,不知道从哪里开始索引特定的列和行,以填充另一列的每4行。下面是我想要创建的内容
tripid timepointid actualarrivaltime date time temp
0 0 I 299.083333 2014-04-01 04:59:04 04:59:04
1 0 H 316.666667 2014-04-01 05:16:40 04:59:04
2 0 G 320.466667 2014-04-01 05:20:28 04:59:04
3 0 F 323.066667 2014-04-01 05:23:04 04:59:04
4 1 I 376.783333 2014-04-01 06:16:46 06:16:46
5 1 H 386.100000 2014-04-01 06:26:06 06:16:46
6 1 G 389.116667 2014-04-01 06:29:07 06:16:46
7 1 F 394.466667 2014-04-01 06:34:28 06:16:46
此外,一旦正确排序,我想重新排序tripid的,以便它可以很容易地在未来排序。有人能告诉我如何进行吗?提前感谢您的帮助
i_time = df[['tripid', 'actualarrivaltime']][df['timepointid'] == 'I'].set_index('tripid')
i_time
actualarrivaltime
tripid
4292837 299.083333
4292839 376.783333
df.join(i_time, on=('tripid'), rsuffix='I')
tripid timepointid actualarrivaltime date time temp actualarrivaltimeI
0 4292837 I 299.083333 2014-04-01 04:59:04 NaN 299.083333
1 4292837 H 316.666667 2014-04-01 05:16:40 NaN 299.083333
2 4292837 G 320.466667 2014-04-01 05:20:28 NaN 299.083333
3 4292837 F 323.066667 2014-04-01 05:23:04 NaN 299.083333
4 4292839 I 376.783333 2014-04-01 06:16:46 NaN 376.783333
5 4292839 H 386.100000 2014-04-01 06:26:06 NaN 376.783333
6 4292839 G 389.116667 2014-04-01 06:29:07 NaN 376.783333
7 4292839 F 394.466667 2014-04-01 06:34:28 NaN 376.783333