【问题标题】:Pandas, convert column of unicodes to column of list of stringsPandas,将 unicode 列转换为字符串列表列
【发布时间】:2014-09-30 14:05:47
【问题描述】:

我的一个 pandas 数据框列具有这种u'asd,abc,tre,der34,whatever' 的 unicode。最终结果应该是一列字符串列表:['asd','abc','tre','der34','whatever']。 Unicode 列表也可以:[u'asd',u'abc',u'tre',u'der34',u'whatever']

顺便说一句,tt 可能会发生在 unicodes 列中存在 nan 或 u'' 的情况。

有什么建议吗?我知道我可以做 str(df['column'].iloc[0]).split(',') 并手动添加一个新列或做一些更棘手的事情,但我正在寻找更 Pythonic 的东西。

【问题讨论】:

  • 你有 unicode 和非 unicode 的混合?有什么问题?这对df['Column'] = df['Column'].astype(str)有帮助吗?
  • 基本上,我有一列只有 unicodes。但是,是的,您的回答会有所帮助。我这样解决df['Column'] =df['Column'].astype(str).str.split(',')谢谢:)
  • 你应该发布作为答案,还有这是怎么发生的,混合编码有点奇怪。
  • Unicode 列来自 SQL 文本列。为什么说有多种编码?
  • 因为您的帖子u'asd,abc,tre,der34,whatever' 中的这一点,我想我认为这是一个字符串列表,而不是字符串列表中的字符串。忽略我的评论,很高兴我帮助了

标签: python string unicode pandas type-conversion


【解决方案1】:

这个解决方案似乎有效:

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

【讨论】:

    【解决方案2】:

    这应该可以工作,如果有 nan 或空字符串,你必须按照你认为合适的方式处理它。

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

    【讨论】:

      猜你喜欢
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 2016-09-17
      • 2020-11-20
      • 2021-03-09
      • 1970-01-01
      相关资源
      最近更新 更多