[問題] 在pandas series中找出數個相同排列

作者: razer (還是一個人)   2021-03-19 08:11:50
各位好
想要請教在假設為
[a,a,b,a,b,c,b,a,b,c,d,b,c,d]
的數列(目前是做成pandas series)中,
想要找出[a,b,c]的所有排列位置時,
有什麼函數可以取用嗎?
寫了一個比較兩個數列的流程,
結果上司說要比較的pattern 不是只有一個
而且會很類似(例如還要找[a,b,a,c]之類的),
所以想要找有沒有比較好的方法
作者: melancholy07 (霧雨)   2021-03-19 09:28:00
一般的方法好像都是找特定的element,但如果你要找的是連續幾個特定元素組成的pattern,我想可以嘗試把list轉成字串再做搜尋
作者: razer (還是一個人)   2021-03-19 13:57:00
好的,我再來試試看可惜,我的element是不定長度的字串,再拼成總和字串就找不到位置了
作者: melancholy07 (霧雨)   2021-03-19 17:21:00
利用.join(),並讓你的字串保持分隔試試?這樣同個字串間的元素仍可以用特定字元作分隔,不會混在一起
作者: razer (還是一個人)   2021-03-20 06:53:00
當然join是個好方法,不過假定我用逗號分隔,代表我後面要反算出現在是在哪個逗號後面,然後他是第幾個逗號是嗎?
作者: melancholy07 (霧雨)   2021-03-20 10:56:00
順著這個思路,就可以用find找出pattern的index,或利用re套件作更方便的檢索了

Links booklink

Contact Us: admin [ a t ] ucptt.com