Я действительно не знаю, почему кто-то не пытался и дал -1 за этот вопрос, но я боролся за это. Наконец-то я понял это.
Рассматривает основной фрейм данных как df_allgrams и находится в структуре списка.
d = defaultdict(list)
from collections import defaultdict
for i in df_allgrams:
d[len(i)].append(i)
out = [d[i] for i in sorted(d)]
for lists in out:
df_lists = pd.DataFrame(lists)
print(df_lists)
Дает фактический вывод, показанный выше df_1 и df_2.
0 1 2
0 is a 0.5
1 interesting i 1.0
2 sample this 1.0
0 1 2 3
0 this is a 0.5
1 a sample this 1.0
2 this is interesting 0.5
3 is interesting i 1.0
0 1 2 3 4
0 a sample this is 1.0
1 sample this is interesting 1.0
2 this is a sample 1.0
3 this is interesting i 1.0
Это также будет работать динамически.