Python 合并两个H20数据帧错误:DistributedException';不允许对字符串向量进行操作。';
我正在尝试在一次操作后合并两个数据帧Python 合并两个H20数据帧错误:DistributedException';不允许对字符串向量进行操作。';,python,dataframe,h2o,Python,Dataframe,H2o,我正在尝试在一次操作后合并两个数据帧 import pandas as pd import h2o from h2o.automl import H2OAutoML h2o.init() import pandas as pd import numpy as np support = "splvl.csv" data = h2o.import_file(support) df1 = data[data['X'] == 0] df2 = data[data['X'] == 1] df1
import pandas as pd
import h2o
from h2o.automl import H2OAutoML
h2o.init()
import pandas as pd
import numpy as np
support = "splvl.csv"
data = h2o.import_file(support)
df1 = data[data['X'] == 0]
df2 = data[data['X'] == 1]
df1.impute("A", method = "mean", by = ["B", "C"])
df1.impute("Q", method = "mode", by = ["B", "C"])
df2.impute("A", method = "mean", by = ["B", "C"])
df2.impute("Q", method = "mode", by = ["B", "C"])
df1["X"].table()
df2["X"].table()
df3 = df2.merge(df1)
h2o.export_file(df3, path = "merged.csv", force=True, parts=1)
在执行“导出到CSV”命令时,出现以下错误:
H2OServerError:HTTP 500服务器错误:
服务器错误water.util.DistributedException:
错误:来自/127.0.0.1:54321的DistributedException:“不允许对字符串向量执行操作。”
请求:无
服务器错误water.exceptions.H2OKeyNotFoundArgumentException:
错误:找不到参数:key的对象“py_13_sid_95bb”
请求:获取/3/Frames/py_13_sid_95bb
参数:{'row_count':'10','row_offset':'0','column_count':'-1','full_column_count':'-1','column_offset':'0'}
当我尝试在合并数据框中打印值计数时出现此错误。第一个问题可能是您的
“X”
类型为string,您可以通过运行df1[“X”]来执行检查。类型
。您可以将其转换为一个factor列,然后通过执行df1[“X”]=df1[“X”].asfactor()
使用table()
看到第二个错误的原因可能是运行df3=df2.merge(df1)
时未能创建d3
我建议您验证列数据类型,修复那些需要转换为因子的数据类型,然后再次尝试合并 第一个问题可能是您的
“X”
类型为string,您可以通过运行df1[“X”].types进行检查。您可以将其转换为一个factor列,然后通过执行df1[“X”]=df1[“X”].asfactor()
使用table()
看到第二个错误的原因可能是运行df3=df2.merge(df1)
时未能创建d3
我建议您验证列数据类型,修复那些需要转换为因子的数据类型,然后再次尝试合并 谢谢,df1=data[data['L2Support']='0'].asfactor()df2=data[data['L2Support']='1'].asfactor()df1['L2Support'].types df2['L2Support'].types
类型现在是enum。但是合并只会留下一个空的数据帧。df1和df2中都有正确的数据<代码>此帧为空
当我在df3=df1.merge(df2)
之后打印df3时,谢谢,df1=data[data['L2Support']=='0'].asfactor()df2=data[data['L2Support']=='1'].asfactor()df1['L2Support'].types df2['L2Support'].types
类型现在是enum。但是合并只会留下一个空的数据帧。df1和df2中都有正确的数据<代码>此帧为空代码>当我在df3=df1.merge(df2)
df3["X"].table()