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

看板Python作者 (都快20年了)時間3年前 (2021/03/19 08:11), 編輯推噓3(3010)
留言13則, 2人參與, 3年前最新討論串1/2 (看更多)
各位好 想要請教在假設為 [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://www.ptt.cc/bbs/Python/M.1616112712.A.115.html

03/19 09:28, 3年前 , 1F
一般的方法好像都是找特定的element,但如果你要找
03/19 09:28, 1F

03/19 09:28, 3年前 , 2F
的是連續幾個特定元素組成的pattern,我想可以嘗試
03/19 09:28, 2F

03/19 09:28, 3年前 , 3F
把list轉成字串再做搜尋
03/19 09:28, 3F

03/19 13:57, 3年前 , 4F
好的,我再來試試看
03/19 13:57, 4F

03/19 15:40, 3年前 , 5F
可惜,我的element是不定長度的字串,再拼成總和字串就找
03/19 15:40, 5F

03/19 15:40, 3年前 , 6F
不到位置了
03/19 15:40, 6F

03/19 17:21, 3年前 , 7F
利用.join(),並讓你的字串保持分隔試試?這樣同個
03/19 17:21, 7F

03/19 17:21, 3年前 , 8F
字串間的元素仍可以用特定字元作分隔,不會混在一
03/19 17:21, 8F

03/19 17:21, 3年前 , 9F
03/19 17:21, 9F

03/20 06:53, 3年前 , 10F
當然join是個好方法,不過假定我用逗號分隔,代表我後面要
03/20 06:53, 10F

03/20 06:53, 3年前 , 11F
反算出現在是在哪個逗號後面,然後他是第幾個逗號是嗎?
03/20 06:53, 11F

03/20 10:56, 3年前 , 12F
順著這個思路,就可以用find找出pattern的index,
03/20 10:56, 12F

03/20 10:56, 3年前 , 13F
或利用re套件作更方便的檢索了
03/20 10:56, 13F
文章代碼(AID): #1WK-n84L (Python)
文章代碼(AID): #1WK-n84L (Python)