将长度不匹配的列添加到julia中的数据帧
我正在尝试将长度(行数)不匹配的列添加到数据框中,它会引发错误,
DimensionMismatch("新列目标的长度为 60000 必须与数据框中的行数匹配 (47040000)")
我的代码片段是,
df = DataFrame(:Feature => train_x, :Target => train_y)
#train_x has 47040000 rows
#train_y has 60000 rows
请为这个问题提出一个解决方案。先感谢您。
回答
你确定这是你想要做的吗?通常人们会期望有很多行特征,因为有目标列的行,所以这个错误可能指向你的代码中的概念问题。
但是,如果您绝对必须这样做,我会看到两种选择:
- 用
missing您选择的值或某些值填充较短的向量,因此:Target => [train_y; [missing for _ in length(train_x) - length(train_y)]. 在这里,我在向量的末尾填充,这可能适合也可能不适合您的情况 - 将
leftjoin带有您的train_x列的数据帧执行到带有您的列的数据帧上train_y- 为此,您需要在两个数据帧中都有一个 ibex 列来描述 y 的行如何与 x 匹配。如果你只需要添加一个正在运行的指数1:length(train_*)既DataFrames结果将是相同的填充结束train_y与missing