未来英语尖子生 2021-08-09 19:03 采纳率: 0%
浏览 54
已结题

Python 根据第一列时间相同 合并列名不一样的两个文件怎么合并?

表一:

| 时间 | | 监测因子1 | 监测因子2 |监测因子3 | 监测因子4 |监测因子5 | 监测因子6|

|2020年10月 | 1 | 2 | 3 | 4 | 5 | 6 |
| 2020年11月 | 1 | 2 | 3 | 4 | 5 | 6 |
| 2020年12月 | 1 | 2 | 3 | 4 | 5 | 6 |
| 2021年月1| | 1 | 2 | 3 | 4 | 5 | 6 |

表二:
| 时间 | | 监测因子1 | 监测因子2 |监测因子3 | 监测因子4 |监测因子7 | 监测因子8|

|2020年10月 | 1 | 2 | 3 | 4 | 7 | 8 |
| 2020年12月 | 1 | 2 | 3 | 4 | 7 | 8 |

最后合成结果:

| 时间 | | 监测因子1 | 监测因子2 |监测因子3 | 监测因子4 |监测因子5 | 监测因子6|监测因子7 | 监测因子8|

|2020年10月 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 2020年12月 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-08-09 19:53
    关注

    先用merge合并,再使用条件判断进行选取,参考一下如下代码:

    import pandas as pd
    df1=pd.read_csv('t891.txt',sep=',')
    #print(df1)
    df2 = pd.read_csv('t892.txt', sep=',')
    #print(df2)
    df = pd.concat([df1, df2], axis=1, join="outer").reindex(df1.index)
    #df=df1.join(df2,how='left',lsuffix='_l',rsuffix='_r').dropna().reset_index()
    df = pd.merge(df1, df2, how='outer')
    df=df[~df.isnull().any(axis=1)]
    df.iloc[:, 1:]=df.iloc[:, 1:].astype(int)
    print(df)
    
    时间  监测因子1  监测因子2  监测因子3  监测因子4  监测因子5  监测因子6  监测因子7  监测因子8
    0  2020年10月      1      2      3      4      5      6      7      8
    2  2020年12月      1      2      3      4      5      6      7      8
    
    

    如有帮助,请点一下我回答上方的采纳按钮。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月31日
  • 创建了问题 8月9日

悬赏问题

  • ¥15 为什么在iis上部署网站,服务器可以访问,但是本地电脑访问不了
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused