将单个df列转换为列表列表

时间:2019-11-27 02:06:38

标签: python pandas list dataframe

如何将单个df列转换为列表列表?使用下面的df,如何将X返回到列表列表。

df = pd.DataFrame({                
    'X' : [1,2,3,4,5,2,3,4,5,6],
    'Y' : [11,12,13,14,15,11,12,13,14,15],
    })

l = df['X'].values.tolist()

[1, 2, 3, 4, 5, 2, 3, 4, 5, 6]

可以转换两列:

l = df.values.tolist()
[[1, 11], [2, 12], [3, 13], [4, 14], [5, 15], [2, 11], [3, 12], [4, 13], [5, 14], [6, 15]]

但是我只想要X。

[[1], [2], [3], [4], [5], [2], [3], [4], [5], [6]]

4 个答案:

答案 0 :(得分:1)

其中一些解决方案似乎过于复杂。我相信这应该可以胜任。

res_list = [[elem] for elem in df['X']]

答案 1 :(得分:0)

如果要此输出

[[1], [2], [3], [4], [5], [2], [3], [4], [5], [6]]

从输入[1,2,3,4,5,2,3,4,5,6]

开始时

然后应该可以正常工作

l = [[i] for i in df['X'].values.tolist()]

答案 2 :(得分:0)

尝试一下:

 df['X'].apply(lambda x: [x]).tolist() 

输出:

[[1], [2], [3], [4], [5], [2], [3], [4], [5], [6]]

答案 3 :(得分:0)

IIUC

df.X.values[:,None].tolist()
Out[85]: [[1], [2], [3], [4], [5], [2], [3], [4], [5], [6]]