【问题标题】:Averaging column results and combing rows with pandas平均列结果并将行与熊猫组合
【发布时间】:2021-06-21 08:54:24
【问题描述】:

所以我有两个关于道路网络的大型 csv 数据文件。第一个文件有 3 列,count_point_id、road_name 和 all_motor_vehicles。第二个,有CP_number、road_number和geometry。

在第一个csv文件中,每个计数点ID有多个车辆计数

我的第一个问题是,如何平均设置计数点 id 的所有行中的车辆计数,并将其合并为 1 行?有些有 2 辆汽车,有些有 20 辆。

然后,一旦完成,我需要通过匹配计数点编号来组合这两个表,因为它们是相同的,从而为我提供一组几何图形的平均车辆计数。

任何帮助将不胜感激。

【问题讨论】:

    标签: python pandas database csv average


    【解决方案1】:
    1. groupby

      df = df.groupby(['count_point_id', 'road_name'], as_index=False).mean()
      
      df
      
         count_point_id road_name  all_motor_vehicles
      0              52     A3112               354.5
      
    2. 重命名列和merge

      df.merge(roads.set_axis(['count_point_id', 'road_name', 'geometry'], axis=1))
      
         count_point_id road_name  all_motor_vehicles    geometry
      0              52     A3112               354.5  SomeObject
      

    设置

    df = pd.DataFrame({
        'count_point_id': [52, 52],
        'road_name': ['A3112', 'A3112'],
        'all_motor_vehicles': [315, 394]
    })
    
    roads = pd.DataFrame({
        'CP_Number': [52.],
        'RoadNumber': ['A3112'],
        'geometry': ['SomeObject']
    })
    

    【讨论】:

    猜你喜欢
    • 2020-10-26
    • 2021-07-13
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多