Julia DataFrames中将两列合并为单列的操作方法咨询
实现方案
以下是几种不同场景下的实现方式:
- 如果你仅需要得到合并后的1~20的独立向量,直接拼接两列的向量即可,性能最优:
merged_col = vcat(df.A, df.B)
运行后merged_col就是长度为20、取值范围1~20的一维向量。
- 如果你需要保留原DataFrame的C列数据,且希望标记合并后的值来自原A列还是B列,使用
stack堆叠函数更便捷:
# 堆叠指定的A、B列,自定义列名 stacked_df = stack(df, [:A, :B], variable_name=:original_col, value_name=:merged_col)
输出的stacked_df共20行,包含merged_col(1~20的合并值)、original_col(标记值来源为A/B)、C(原C列对应重复两次)三列。
- 如果你需要保留C列但不需要标记值来源,可直接手动构造新DataFrame:
new_df = DataFrame( merged_col = vcat(df.A, df.B), C = repeat(df.C, 2) )
内容的提问来源于stack exchange,提问作者Coco
相关产品推荐
相关产品推荐

