Dataframe 将长度不匹配的列添加到julia中的数据帧
我试图将长度(行数)不匹配的列添加到数据帧中,它会抛出一个错误 维度不匹配(“新列目标的长度为60000,必须与数据框中的行数(47040000)匹配”) 我的代码片段是Dataframe 将长度不匹配的列添加到julia中的数据帧,dataframe,julia,Dataframe,Julia,我试图将长度(行数)不匹配的列添加到数据帧中,它会抛出一个错误 维度不匹配(“新列目标的长度为60000,必须与数据框中的行数(47040000)匹配”) 我的代码片段是 df = DataFrame(:Feature => train_x, :Target => train_y) #train_x has 47040000 rows #train_y has 60000 rows 请为这个问题提出解决方案。 提前谢谢。你确定这就是你想要做的吗?通常情况下,当目标列中有行时,可能
df = DataFrame(:Feature => train_x, :Target => train_y)
#train_x has 47040000 rows
#train_y has 60000 rows
请为这个问题提出解决方案。
提前谢谢。你确定这就是你想要做的吗?通常情况下,当目标列中有行时,可能会有很多行特性,因此此错误可能指向代码中的概念问题 如果你一定要这么做,我有两个选择:
- 用
或您选择的某个值填充较短的向量,因此缺失
。我在向量末尾填充,这在您的情况下可能合适,也可能不合适:Target=>[train_y;[train_x的缺失长度(train_x)-length(train_y)]
- 使用
列将数据帧的train_x
连接到带有leftjoin
列的数据帧上-为此,两个数据帧中都需要一个ibex列来描述y行与x的匹配方式。如果只添加一个运行索引train_y
对于两个数据帧,结果将与用1:length(train_*)
缺失的
填充
序列的结尾相同
df = DataFrame(x=Int[],y=Int[])
append!(df.x,[1,2])
append!(df.y,[1,2,3])
但是,由于这种数据帧没有意义,您将无法通过标准的数据帧
API使用它(它将被视为损坏的数据帧
):
julia> df[1,:]
DataFrameRowError showing value of type DataFrameRow{DataFrame,DataFrames.Index}:
ERROR: AssertionError: Data frame is corrupt: length of column :y (3) does not match length of column 1 (2). The column vector has likely been resized unintentionally (either directly or because it is shared with another data frame).