如何合并两个分性别存储的国家体重DataFrame并新增gender列
Pandas 合并实现方案
核心思路是先为两个数据表分别新增性别标识列,再纵向拼接两个表,排序后即可得到符合要求的结果。
基础实现(修改原表)
import pandas as pd # 给男性表加性别标识 df_male["gender"] = "m" # 给女性表加性别标识 df_female["gender"] = "f" # 纵向拼接两个表,重置索引 merged_df = pd.concat([df_male, df_female], ignore_index=True) # 按国家排序,匹配示例输出顺序 merged_df = merged_df.sort_values("country", ignore_index=True)
链式调用实现(不修改原表)
如果不想改动原始的男性、女性数据表,可以用assign方法生成新表后拼接:
merged_df = pd.concat( [df_male.assign(gender="m"), df_female.assign(gender="f")], ignore_index=True ).sort_values("country", ignore_index=True)
运行以上代码后输出的merged_df完全符合你给出的三列预期格式。
内容的提问来源于stack exchange,提问作者WeareR
相关产品推荐
相关产品推荐

