dataframe - 将长度不匹配的列添加到 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 匹配。如果您只是向两个 DataFrame 添加运行索引1:length(train_*)
,则结果将与填充结尾train_y
相同missing
推荐阅读
- filesystems - Flash Translation Layer 如何存储映射数据、不可用块和超级块?
- php - 删除签名网址的查询参数
- windows - 无法删除由 Qt 在 Windows 10 中意外创建的名称错误的目录
- python - 我想以 kivy builder 格式从 python 文件调用屏幕
- dart - 如何从飞镖中的对象中获取价值
- javascript - 如何在 Node Mongodb 中保存字符串数组
- php - PHP:如何在完全写入之前开始提供正在写入的文件?
- reactjs - 在 React 中执行 API 调用之前检查 setState 是否已运行
- python - 如何将嵌套的字符串列表转换为一个列表?
- sql - 如何在 Oracle 中得到正确的总和结果