如何扩展DataFrame常量列以匹配另一DataFrame行数并填充常量?
解决方法
方法一:直接提取常量赋值(推荐,最高效)
既然df2里的列是常量值(所有行数值相同),直接提取该列任意一行的值(比如第一行),给df1新增对应列并赋值即可,无需复杂合并:
# 提取BitSizeValue的常量值(取第一行即可,所有行值一致) bit_size_constant = df2['BitSizeValue'].iloc[0] # 给df1添加该列并填充常量 df1['BitSizeValue'] = bit_size_constant
方法二:合并后填充NaN
如果已经完成合并操作得到带NaN的数据集,直接用fillna把NaN替换为df2的常量值:
# 假设合并后的数据集为merged_df merged_df['BitSizeValue'] = merged_df['BitSizeValue'].fillna(df2['BitSizeValue'].iloc[0])
方法三:多常量列批量处理
如果df2包含多列常量,可先提取df2的一行作为常量模板,再通过广播机制批量添加到df1:
# 提取df2的第一行作为常量模板 constant_template = df2.iloc[0].to_dict() # 批量给df1添加所有常量列 df1 = df1.assign(**constant_template)
内容的提问来源于stack exchange,提问作者Zia
相关产品推荐
相关产品推荐

