擅长:python、mysql、java
<p>对于消息数据框中的每一行,我们添加下一条消息的位置,以便于比较:</p>
<pre><code>messages = messages.join(messages['position'].shift(-1).rename('next_position'))
</code></pre>
<p>为数据中的每一行添加消息:</p>
<pre><code>data['class'] = 0
for index, row in messages.iterrows():
data.loc[data['position'].between(row['position'],row['next_position']),'class'] = row['message']
</code></pre>
<p>添加“边缘”案例:</p>
<pre><code>data.loc[data['position'].between(0,messages['position'].min()),'class'] = 'msg'
data.loc[data['position'].between(messages['position'].max(),np.inf),'class'] = messages.iloc[-1]['message']
</code></pre>
<p>并用你的类替换消息</p>
<pre><code>for message_code in data['class'].unique():
data.replace(message_code,'A'+message_code.split('msg')[-1],inplace=True)
</code></pre>