首页 文章

从pandas和unicode错误创建h2o数据帧

提问于
浏览
1

如何安全地将pandas对象转换为h2o数据帧?

import h2o
import pandas as pd

df = pd.DataFrame({'col1': [1,1,2], 'col2': ['César Chávez Day', 'César Chávez Day', 'César Chávez Day']})
hf = h2o.H2OFrame(df)  #gives error

UnicodeEncodeError:'ascii'编解码器无法对位置4中的字符'\ xe9'进行编码:序数不在范围内(128)

Environment: Python 3.5,h2o 3.10.4.2

1 回答

  • 6

    我同意这不是H2O特有的问题 . 这适用于我(相同的H2O和Python版本):

    import h2o
    import pandas as pd
    
    df = pd.DataFrame({'col1': [1,1,2], 'col2': ['César Chávez Day', 'César Chávez Day', 'César Chávez Day']})
    hf = h2o.H2OFrame(df)
    
    ## -- End pasted text --
    Parse progress: |█████████████████████████████████████████████████████████| 100%
    
    In [4]: hf
    Out[4]:   col1  col2
    ------  ----------------
         1  César Chávez Day
         1  César Chávez Day
         2  César Chávez Day
    
    [3 rows x 2 columns]
    
    In [5]: type('César Chávez Day')
    Out[5]: str
    

    我的规格(您可能需要更改默认编码):

    In [6]: import sys
    
    In [7]: sys.getdefaultencoding()
    Out[7]: 'utf-8'
    

    这个主题可能有所帮助:How do I check if a string is unicode or ascii?

相关问题