【发布时间】:2021-01-09 17:24:58
【问题描述】:
我有以下 Pandas 数据框。
import pandas as pd
data = {'id':[1,2,3,4,5,6,7,8,9],
'chain':[['x','x','L','U','C','K'],
['x','x','D','U','N','E'],
['L','U','C','K','x','x'],
['x','x','D','U','N','E'],
['D','U','N','E','x','x'],
['A','B','C','D','x','x'],
['x','A','B','C','D','x'],
['x','L','U','C','K','x'],
['x','x','D','U','N','E']]}
df=pd.DataFrame.from_records(data)
如何列出 n 个元素的最频繁出现的序列?
对于 n=4,我们会发现:
- 'D','U','N','E' x5
- 'L','U','C','K' x4
- 'A','B','C','D' x2
我已经开始写一个复杂的 FOR 怪物,但我认为一定有更聪明的方法,一个我还没有找到的好 Python 库。
【问题讨论】:
-
不清楚您要的是什么。
-
请提供一些预期的输出
-
什么是
n?另外,在您的示例中,您在哪里/如何“找到” 5 DUNE 和 4 LUCK?
标签: python pandas dataframe numpy