我对python/pandas相当陌生,一直在努力寻找一个足够具体的示例供我使用。
假设我有以下数据框,由一列事件标记和一列显示每个标记出现的时间组成:
df = pd.DataFrame({'Marker': ['S200', 'S4', 'S44', 'Tone', 'S200', 'S1', 'S44', 'Tone'],
'Time': [0, 100, 150, 230, 300, 340, 380, 400]})
Marker Time
0 S200 0
1 S4 100
2 S44 150
3 Tone 230
4 S200 300
5 S1 340
6 S44 380
7 Tone 400
我想提取s44后面跟着音调的成对行。结果输出应为:
newdf = pd.DataFrame({'Marker': ['S44', 'Tone', 'S44', 'Tone'],
'Time': [150, 230, 380, 400]})
Marker Time
0 S44 150
1 Tone 230
2 S44 380
3 Tone 400
任何想法都将不胜感激!
2条答案
按热度按时间lhcgjxsq1#
一种方法是使用shift获取索引,添加1并使用loc拉取-注意,这假设索引是数字且单调递增的:
2wnc66cl2#
另一种方式:
输出: