Pandas,将Unicode列转换为字符串列表列

2 投票
2 回答
21813 浏览
提问于 2025-04-18 16:22

我有一个 pandas 数据框的列,里面有这样的 Unicode 字符串 u'asd,abc,tre,der34,whatever'。我想要的最终结果是一个字符串列表:['asd','abc','tre','der34','whatever']。当然,如果能得到一个 Unicode 列表也可以:[u'asd',u'abc',u'tre',u'der34',u'whatever']

顺便提一下,这个 Unicode 列里可能会有 nan 或者是 u'' 这样的空值。

有什么建议吗?我知道可以用 str(df['column'].iloc[0]).split(',') 来手动添加一个新列,或者做一些更复杂的操作,但我想找一种更符合 Python 风格的方法。

2 个回答

0

这样做应该没问题,不过如果有“nan”(不是一个数字)或者空字符串的话,你需要根据自己的需要来处理这些情况。

In [1]: [str(col) for col in u'asd,abc,tre,der34,whatever'.split(',')]

Out[1]: ['asd', 'abc', 'tre', 'der34', 'whatever']
3

这个解决方案看起来有效:

df['Column'] =df['Column'].astype(str).str.split(',')

撰写回答