作者razer (都快20年了)
看板Python
標題[問題] 在pandas series中找出數個相同排列
時間Fri Mar 19 08:11:50 2021
各位好
想要請教在假設為
[a,a,b,a,b,c,b,a,b,c,d,b,c,d]
的數列(目前是做成pandas series)中,
想要找出[a,b,c]的所有排列位置時,
有什麼函數可以取用嗎?
寫了一個比較兩個數列的流程,
結果上司說要比較的pattern 不是只有一個
而且會很類似(例如還要找[a,b,a,c]之類的),
所以想要找有沒有比較好的方法
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 126.200.117.71 (日本)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1616112712.A.115.html
1F:推 melancholy07: 一般的方法好像都是找特定的element,但如果你要找 03/19 09:28
2F:→ melancholy07: 的是連續幾個特定元素組成的pattern,我想可以嘗試 03/19 09:28
3F:→ melancholy07: 把list轉成字串再做搜尋 03/19 09:28
4F:→ razer: 好的,我再來試試看 03/19 13:57
5F:→ razer: 可惜,我的element是不定長度的字串,再拼成總和字串就找 03/19 15:40
6F:→ razer: 不到位置了 03/19 15:40
7F:推 melancholy07: 利用.join(),並讓你的字串保持分隔試試?這樣同個 03/19 17:21
8F:→ melancholy07: 字串間的元素仍可以用特定字元作分隔,不會混在一 03/19 17:21
9F:→ melancholy07: 起 03/19 17:21
10F:→ razer: 當然join是個好方法,不過假定我用逗號分隔,代表我後面要 03/20 06:53
11F:→ razer: 反算出現在是在哪個逗號後面,然後他是第幾個逗號是嗎? 03/20 06:53
12F:推 melancholy07: 順著這個思路,就可以用find找出pattern的index, 03/20 10:56
13F:→ melancholy07: 或利用re套件作更方便的檢索了 03/20 10:56