我正在寻找一种简单有效的方法来替换H2O Python数据框中的所有特定值。在这种情况下,此值为NULL。我的数据集包含大量的NULL。
当我在一个非常大的数据集中有数百列时,我目前的做法非常慢。我认为以更好的方式做到这一点可以有很大的改进......
我无法弄清楚语法。谢谢,这将为我节省大量时间!
我目前的做法:
for each_col in table_names_list:
h2o_df[h2o_df[each_col].isna(), each_col]=0
答案 0 :(得分:0)
在NA的特殊情况下,您可以使用impute()
方法将所有这些替换为单个值(或者,您可以使用列的均值,中值或模式)。这是一个例子:
import h2o
h2o.init()
df = h2o.H2OFrame([[1,2,3],[4,5,6]])
df.insert_missing_values(fraction=0.5, seed=1)
所以框架看起来像这样:
C1 C2 C3
---- ---- ----
nan nan 3
nan 5 nan
现在我们可以通过值来估算,但是我们需要传递一个与列数相同的值列表(在您的情况下,全部为零)。
df.impute(column=-1, values=[0 for c in range(df.ncol)])
现在框架看起来像这样:
C1 C2 C3
---- ---- ----
0 0 3
0 5 0