【问题标题】:Calculate average and mean based on two column data in pandas [duplicate]根据熊猫中的两列数据计算平均值和平均值[重复]
【发布时间】:2020-03-03 22:47:23
【问题描述】:

我有一个如下所示的数据框:

df
Speed   Zone
1.33    Zone 1
0.37    Zone 1
0.52    Zone 1
1.17    Zone 1
8.36    Zone 2
4.46    Zone 2
2.16    Zone 2
4.45    Zone 2
5.50    Zone 3
5.29    Zone 3
3.49    Zone 3
1.11    Zone 3
0.89    Zone 4
2.16    Zone 5
0.83    Zone 5
1.17    Zone 5

我使用此代码计算每个区域的速度averagemean

import geopandas as gpd
import pandas as pd
import numpy as np
df = pd.read_csv("speed_zone.csv")
df = df[df.Zone == 'Zone 1']
df["Speed"].mean()

但是,我必须复制并再次将其复制到新单元格中。我有很多区域要做。我是python的初学者,如何计算速度列的meanaverage并自动同时制作表格。 我的预期结果如下所示:

Mean_Speed  Zone 
0.8475      Zone 1
4.8575      Zone 2
3.8474      Zone 3

【问题讨论】:

  • 使用df.groupby("Zone").mean()
  • 感谢您的回答。如果它们不止一列这样的速度等,会计算平均值吗?
  • yop,它返回所有数字列的平均值
  • 如果只有速度列我只想计算mean,是否有可能?
  • df.groupby("Zone")['speed'].mean()

标签: python pandas


【解决方案1】:

你试过了吗:

df.groupby("Zone").agg("mean")

您可能还想查看documentation of agg。 您可以为每个变量指定不同的聚合

【讨论】: