Pandas,将Unicode列转换为字符串列表列
我有一个 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(',')