我有一個由串列組成的列的資料框,如下所示:
sessionId split
0 117200 [8=FIX.4.4, 9=401, 35=F, 34=342375]
1 117200 [8=FIX.4.4, 9=454, 35=G, 34=342374]
2 117200 [8=FIX.4.4, 9=430, 35=G, 34=342373]
3 173335 [8=FIX.4.4, 9=444, 35=G, 34=272236]
4 133911 [8=FIX.4.4, 9=359, 35=G, 34=25355]
我想檢索出現子字串 '35=' 的串列的索引。預期的結果如下:
sessionId split idx
0 117200 [8=FIX.4.4, 9=401, 35=F, 34=342375] 2
1 117200 [8=FIX.4.4, 9=454, 35=G, 34=342374] 2
2 117200 [8=FIX.4.4, 9=430, 35=G, 34=342373] 2
3 173335 [8=FIX.4.4, 9=444, 35=G, 34=272236] 2
4 133911 [8=FIX.4.4, 9=359, 35=G, 34=25355] 2
uj5u.com熱心網友回復:
假設一個字串串列,最有效的可能是使用串列推導:
df['idx'] = [next((x for x in range(len(l)) if '35=' in l[x]), None)
for l in df['split']]
輸出:
sessionId split idx
0 117200 [8=FIX.4.4, 9=401, 35=F, 34=342375] 2
1 117200 [8=FIX.4.4, 9=454, 35=G, 34=342374] 2
2 117200 [8=FIX.4.4, 9=430, 35=G, 34=342373] 2
3 173335 [8=FIX.4.4, 9=444, 35=G, 34=272236] 2
4 133911 [8=FIX.4.4, 9=359, 35=G, 34=25355] 2
使用的輸入:
df = pd.DataFrame({'sessionId': [117200, 117200, 117200, 173335, 133911],
'split': [['8=FIX.4.4', '9=401', '35=F', '34=342375'],
['8=FIX.4.4', '9=454', '35=G', '34=342374'],
['8=FIX.4.4', '9=430', '35=G', '34=342373'],
['8=FIX.4.4', '9=444', '35=G', '34=272236'],
['8=FIX.4.4', '9=359', '35=G', '34=25355']]})
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/456777.html
上一篇:如何使用“一年中的一天”資料(Python)使用熊貓重新采樣
下一篇:在Pythondash中轉換Y軸
