【发布时间】:2021-05-03 04:11:09
【问题描述】:
我正在从头开始编写决策树算法,现在我正在尝试将数据分成组,其中每个组包含大于或等于或小于包含连续值的 NumPy 数组中的每个值的值DataFrame 列,并获取这些拆分目标的平均值。 到目前为止我的代码:
for i in range(len(columns)):
col = columns[i]
# cont - list of continous columns in my DataFrame
if col in cont:
values = xs[col].values
targets = y.values
for j in range(len(values)):
value = values[j]
greater_idx = np.where(values >= value)[0]
less_idx = np.where(values < value)[0]
targets_greater = targets[greater_idx].sum()
targets_less = targets[less_idx] .sum()
print(targets_greater/(j+1))
print(targets_less /(j+1))
xs DataFrame 的长度接近 400k,因此循环非常慢,每次都会杀死我的 Jupyter Notebook 内核。我知道应该有办法完全摆脱这个循环,但我不知道该怎么做。
【问题讨论】:
标签: python pandas numpy machine-learning decision-tree