V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zxCoder
V2EX  ›  问与答

请教一个 Python pandas 数据编码的问题

  •  
  •   zxCoder · 2021-12-13 22:29:25 +08:00 · 564 次点击
    这是一个创建于 903 天前的主题,其中的信息可能已经有所发展或是发生改变。

    出错代码:

    
    try:
        num_unique = data.nunique()
    except UnicodeEncodeError:
        print(type(data))
        for i,v in data.items():
            print(i,v)
    

    data 是很多个 pandas Series 中的一个

    总是跑到某个 data ,就在这里出错,报错是

    UnicodeEncodeError: 'utf-8' codec can't encode characters in position 41-42: surrogates not allowed

    而且也无法打印出这个 data 的数据,这是为什么呢?不知道怎么解决

    1 条回复    2021-12-13 23:45:06 +08:00
    3dwelcome
        1
    3dwelcome  
       2021-12-13 23:45:06 +08:00
    不懂 py, 但我知道 surrogates 的意思。是指普通 UNICODE 扩展后,四字节的 UNICODE 片区。

    通常范围是 U+D800 - U+DFFF ,可以考虑把数据过滤一次,utf8->unicode 双字节,遍历一次,把范围内的 surrogates 全部干掉就可以了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1498 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:20 · PVG 01:20 · LAX 10:20 · JFK 13:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.