weixin_46068287 2021-04-08 12:37 采纳率: 50%
浏览 13

求助,图1是原始数据,图2是需求,我使用split和explode对时间和s,t时间分别拆分合并后他

求助,图1是原始数据,图2是需求样式,我使用split和explode对时间和s,t时间分别拆分合并后他形成了图3一个2对2的形式,有什么办法能让他变成图2形式吗?

 

图1

图2

图3

 

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-18 18:27
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    要将图3的2对2形式转换成图2的形式,可以使用Python中的pandas库进行处理。首先,需要将两对时间分别拆分成两列,然后使用pandas的melt函数将宽表转换为长表,并重新排序列的顺序。 下面是示例代码:
    import pandas as pd
    # 创建示例数据
    data = {'time1': ['2021-01-01', '2021-01-02', '2021-01-03'],
            's1': [1, 2, 3],
            't1': [4, 5, 6],
            'time2': ['2021-01-01', '2021-01-02', '2021-01-03'],
            's2': [7, 8, 9],
            't2': [10, 11, 12]}
    df = pd.DataFrame(data)
    # 拆分s和t的时间列
    df = pd.concat([df[['time1', 's1', 't1']], df[['time2', 's2', 't2']].rename(columns={'time2': 'time1', 's2': 's1', 't2': 't1'})])
    # 使用melt函数将宽表转换为长表
    df = df.melt(id_vars='time1', var_name='variable', value_name='value')
    # 重新排序列的顺序
    df = df.sort_values(by=['time1', 'variable'])
    # 输出结果
    print(df)
    

    运行以上代码后,将得到转换后的长表形式,可以根据需要将结果再次调整成图2的形式。

    评论

报告相同问题?

悬赏问题

  • ¥30 使用matlab将观测点聚合成多条目标轨迹
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析