如何从单独列的特定行填充列值

2024-03-29 11:12:11 发布

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

我有下面的数据帧。你知道吗

    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列,用每个trip的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的,以便它可以很容易地在未来排序。有人能告诉我怎么做吗?提前谢谢你的帮助。你知道吗


Tags: 数据datetime排序时间模式原因nan
1条回答
网友
1楼 · 发布于 2024-03-29 11:12:11
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

相关问题 更多 >