[问题] 在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