我非常习惯R中的h2o框架,但在h2o的某些方面进行调整时遇到了一些困难。
我知道,您可以使用.copy()方法创建熊猫数据的副本,这样在更新新数据时,也不会更新原始数据。h2o帧有类似的功能吗?更复杂的是,h2o框架似乎不符合函数的本地/全局环境规则。
下面是一个例子,如果我能够创建一个框架的.copy,或者函数本地环境没有更新我的全局环境,它将解决我的问题。如果我在R中创建了同样的东西,那么它的行为与预期完全一致,并且实际上没有修改我原来的h2o框架中的列,那么我如何才能让python以同样的方式工作呢?
##### A FUNCTION TO CHANGE THE VALUE OF A COLUMN
def test_func(train_df,
var):
train_df[var] = train_df[var].log()
return(train_df)
##### TRY TO CREATE A NEW COPY OF THE FRAME WITH THE COLUMN CHANGED
new_df = test_func(train_df = old_df,
var = 'target')
##### THE COLUMN IN BOTH new_df AND old_df has both been changed. 发布于 2018-05-03 20:44:14
如果您想要创建数据文件的副本,可以使用h2o.deep_copy(data, xid)。(其中xid是为后端H2OFrame提供的字符串id )
如果您有一个dataframe df并且确实有
old_df = df
new_df = dfold_df和new_df都将指向后端的同一个h2oframe (df),因此对old_df的任何更改都将反映在new_df中。
如果希望将更改保持单独,则可以:
new_df = h2o.deep_copy(df, 'new_df')https://stackoverflow.com/questions/50162987
复制相似问题