回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个事件日志的dataframe,其中包含一个具有前一个事件ID的列,但它们不是按顺序排列的,我希望这样做。如果我们获取事件名称、ID和先前事件ID的以下数据帧并将其洗牌,则得到:</p>
<pre><code> import pandas as pd
import numpy as np
df = pd.DataFrame(
{
'Event_name': ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth', 'Seventh', 'Eigth', 'Ninth', 'Tenth'],
'Event_Ids': ['QXT364', 'YKD306', 'GJJ60', 'RSK547', 'GNN259', 'DKW368', 'OAN385', 'PGF213', 'NGJ285', 'OLG594'],
'Previous_Event_Ids': [np.nan,'QXT364', 'YKD306', 'GJJ60', 'RSK547', 'GNN259', 'DKW368', 'OAN385', 'PGF213', 'NGJ285']
}
)
df = df.sample(frac=1).reset_index(drop=True)
print(df)
</code></pre>
<p>它输出:</p>
<pre><code> Event_name Event_Ids Previous_Event_Ids
0 Fourth RSK547 GJJ60
1 Eigth PGF213 OAN385
2 First QXT364 NaN
3 Third GJJ60 YKD306
4 Fifth GNN259 RSK547
5 Sixth DKW368 GNN259
6 Seventh OAN385 DKW368
7 Ninth NGJ285 PGF213
8 Second YKD306 QXT364
9 Tenth OLG594 NGJ285
</code></pre>
<p>什么代码可以用来对其进行排序,从而使数据帧以这样的方式结束</p>
<pre><code> Event_name Event_Ids Previous_Event_Ids
0 First QXT364 NaN
1 Second YKD306 QXT364
2 Third GJJ60 YKD306
3 Fourth RSK547 GJJ60
4 Fifth GNN259 RSK547
5 Sixth DKW368 GNN259
6 Seventh OAN385 DKW368
7 Eigth PGF213 OAN385
8 Ninth NGJ285 PGF213
9 Tenth OLG594 NGJ285
</code></pre>