Pandas extractall() - 返回列表,而不是MultiLevel索引?

时间:2018-01-16 05:23:46

标签: python regex pandas

我有一个问题,我以前可能已经问过这个问题,但是有一个不同的形式。如果是这样的话,请指出原件。

无论如何,我正在使用Pandas extractall()方法,我不太喜欢它返回一个带有MultiLevel索引(original index -> 'match' index)的DataFrame,其中所有找到的元素都列在{{1}下面} 我更喜欢输出是单个索引的DataFrame,多个正则表达式搜索结果(如果适用)作为单个单元格中的列表返回。这可能吗?

以下是我想到的内容的可视化:

当前输出:

match 0, match 1, match 2 ...

所需的输出

                   X
index    match
  0        0      thank
  1        0      thank
           1      thanks
           2      thanking
  2        0      thanked

我会对任何建议表示感谢。

1 个答案:

答案 0 :(得分:4)

试试吧:

df.groupby(level=0)['X'].apply(list)

输出:

0                      [thank]
1    [thank, thanks, thanking]
2                    [thanked]
Name: X, dtype: object