cjwddxlb 2019-08-09 18:01 采纳率: 100%
浏览 1289
已采纳

python dataframe操作

要求:
四列 id,x,y,t的一个dataframe。
对每个id内部,如果两条记录t相同,则对两条记录的x,y求平均,得到一条新记录,然后插入后删除旧的记录

假设所有数据按照id小在前,相等时t小在前排列

  • 写回答

2条回答 默认 最新

  • 百里吹雪 2019-08-15 16:26
    关注
    import pandas as pd
    
    df = pd.read_excel(r'aa.xlsx')
    print(df)
    
    result = pd.DataFrame(df.groupby(['id', 't']).mean().reset_index())
    print(result)
    
    数据:
    
       id  x  y  t
    0   1  1  1  1
    1   2  2  2  2
    2   2  3  3  3
    3   3  4  4  3
    4   3  5  5  3
    5   3  6  6  3
    6   4  7  7  4
    7   5  8  8  5
    
    结果:
    
       id  t  x  y
    0   1  1  1  1
    1   2  2  2  2
    2   2  3  3  3
    3   3  3  5  5
    4   4  4  7  7
    5   5  5  8  8
    
    如果要调整列的顺序,展现的时候调整一下就好。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏