Data.table in R into datatable in Python 翻译问题(归一化)
Data.table in R into datatable in Python translation problem (normalization)
我在 R
中有这段代码,我正在使用 data.table
,我打算用 datatable
将它翻译成 Python
。它使用每个现有列的值除以总数的平均值来创建列。一种规范化。
dataset[ , paste0( cols, suffix) := lapply( .SD, function(x){ x/mean(x, na.rm=TRUE)} ),
by= col_A,
.SDcols= cols]
根据文档,update
函数和 del
运算符操作 in-place。如果有很多列,这也可以在循环中完成
DT[:, update(y_suffix = f.y/dt.mean(f.y), v_suffix = f.v/dt.mean(f.v)), by("x")]
-输出
数据
from datatable import dt, f, g, by, update
DT = dt.Frame(x = ["b"]*3 + ["a"]*3 + ["c"]*3,
y = [1, 3, 6] * 3,
v = range(1, 10))
from datatable import f,by,update,dt
dataset=dt.Frame({'col_A':[0,0,1,1], 'col_B':[1,2,3,4], 'col_C':[5,6,7,8]})
cols = dataset[:,[int,float]].names
dataset[:, update(**{col+'_norm': f[col]/dt.mean(f[col]) for col in cols if col!='col_A'}), by(f.col_A)]
我在 R
中有这段代码,我正在使用 data.table
,我打算用 datatable
将它翻译成 Python
。它使用每个现有列的值除以总数的平均值来创建列。一种规范化。
dataset[ , paste0( cols, suffix) := lapply( .SD, function(x){ x/mean(x, na.rm=TRUE)} ),
by= col_A,
.SDcols= cols]
根据文档,update
函数和 del
运算符操作 in-place。如果有很多列,这也可以在循环中完成
DT[:, update(y_suffix = f.y/dt.mean(f.y), v_suffix = f.v/dt.mean(f.v)), by("x")]
-输出
数据
from datatable import dt, f, g, by, update
DT = dt.Frame(x = ["b"]*3 + ["a"]*3 + ["c"]*3,
y = [1, 3, 6] * 3,
v = range(1, 10))
from datatable import f,by,update,dt
dataset=dt.Frame({'col_A':[0,0,1,1], 'col_B':[1,2,3,4], 'col_C':[5,6,7,8]})
cols = dataset[:,[int,float]].names
dataset[:, update(**{col+'_norm': f[col]/dt.mean(f[col]) for col in cols if col!='col_A'}), by(f.col_A)]