将pandasDF列表转换为字符串

发布于 2021-01-29 19:06:40

我有一个pandas数据框。列之一包含一个列表。我希望该列为单个字符串。

例如,我的列表[‘one’,’two’,‘3’]应该简单地是‘1、2、3’

df['col'] = df['col'].astype(str).apply(lambda x: ', '.join(df['col'].astype(str)))

给我[‘一个,两个,三个],[‘四个’,’五个’,’六个’],其中第二个列表来自下一行。不用说,对于数百万行,这种跨行连接不仅是不正确的,而且还会杀死我的内存。

关注者
0
被浏览
147
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    在转换列表之前,您当然不应该转换为字符串。尝试:

    df['col'].apply(', '.join)
    

    另请注意,apply会将函数应用于系列的元素,因此df['col']在lambda函数中使用可能不是您想要的。


    编辑 :正如AntonProtopopov所指出的,有一个本机.str.join方法,但是(令人惊讶地)它比慢一些apply



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看