oldtroy 2023-04-07 17:36 采纳率: 84.6%
浏览 13
已结题

Python Dataframe 合并问题

我有如下两个 Dataframe, 我想将两个dataframe 合并成如下样子,请问 Pandas 如何实现。

df1:

    name    id
0  Rose  N0002
1  Nimo  N0003

df2:

  code  
0  S1
1  S2
2  S3

df1 + df2 = :

    name    id      code
0  Rose  N0002    S1
1  Nimo  N0003    S1
2  Rose  N0002    S2
3  Nimo  N0003    S2
4  Rose  N0002    S3
5  Nimo  N0003    S3

  • 写回答

3条回答 默认 最新

  • Leodong. 2023-04-07 17:50
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
    可以使用 Pandas 中的 merge 函数来实现两个 DataFrame 的合并,具体操作如下:

    import pandas as pd
    
    # 创建 df1 和 df2
    df1 = pd.DataFrame({'name': ['Rose', 'Nimo'], 'id': ['N0002', 'N0003']})
    df2 = pd.DataFrame({'code': ['S1', 'S2', 'S3']})
    
    # 将 df1 和 df2 按列合并
    result = pd.merge(df1.assign(key=0), df2.assign(key=0), on='key').drop('key', axis=1)
    
    # 输出合并后的结果
    print(result)
    

    运行结果如下:

        name     id code
    0   Rose  N0002   S1
    1   Rose  N0002   S2
    2   Rose  N0002   S3
    3   Nimo  N0003   S1
    4   Nimo  N0003   S2
    5   Nimo  N0003   S3
    

    这里,我们首先使用 assign 函数为每个 DataFrame 添加一个 key 列,然后使用 merge 函数将两个 DataFrame 按照 key 列进行合并,最后再将 key 列删除即可得到结果。


    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月16日
  • 已采纳回答 4月8日
  • 修改了问题 4月7日
  • 修改了问题 4月7日
  • 展开全部

悬赏问题

  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败
  • ¥15 Java与Hbase相关问题
  • ¥15 后缀 crn 游戏文件提取资源
  • ¥20 bash代码推送不上去 git fetch origin master #失败了
  • ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开