首页 > 解决方案 > 将几列中的列表组合成一个嵌套列表 pandas

问题描述

这是我的数据框:

| col1     | col2      | col3     |
----------------------------------
[1,2,3,4] | [1,2,3,4] | [1,2,3,4]

我也有这个功能:

def joiner(col1,col2,col3):
    snip = []
    snip.append(col1)
    snip.append(col2)
    snip.append(col3)
    return snip

我想在每一列上调用它并将其分配给一个新列。

我的最终目标是这样的:

| col1     | col2      | col3     | col4
------------------------------------------------------------------
[1,2,3,4] | [1,2,3,4] | [1,2,3,4] | [[1,2,3,4],[1,2,3,4],[1,2,3,4]]

标签: pythonpandas

解决方案


只需.apply列出axis=1,它将为每一行创建列表

>>> df['col4'] = df.apply(list, axis=1)

输出:

           col1          col2          col3  col4
0  [1, 2, 3, 4]  [1, 2, 3, 4]  [1, 2, 3, 4]  [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]

推荐阅读