列表数据框:获取长度大于 1 的值

Dataframe of lists: get the values having length more than 1

假设我有一个这样的数据框:

df = pd.DataFrame(data=np.array([[1],[1,2],[1,2,3],[2]]), columns=['col'])

我最终需要到达下面的子列表:

    col
0   [1, 2]
1   [1, 2, 3] 

这意味着我需要“获取长度 > 1 的行”或“删除长度 <= 1 的行”。我该怎么做?

您可以使用 .loc 进行过滤并在 'col' 列的 length 上设置条件,然后对结果数据帧使用 reset_index 以忽略旧数据帧的索引:

print(df.loc[df.col.str.len() > 1].reset_index(drop=True))

输出:

         col
0     [1, 2]
1  [1, 2, 3]