Skip to main content
 首页 » 编程设计

python之从 Pandas 和 unicode 错误创建 h2o 数据框

2025年05月04日13wayfarer

如何安全地将 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' codec can't encode character '\xe9' in position 4: ordinal not in range(128)

环境:Python 3.5,h2o 3.10.4.2

请您参考如下方法:

我同意这不是特定于 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?