如何计算在熊猫中另一列上分组的平均值

拉法:

对于以下数据框:

StationID  HoursAhead    BiasTemp  
SS0279           0          10
SS0279           1          20
KEOPS            0          0
KEOPS            1          5
BB               0          5
BB               1          5

我想得到类似的东西:

StationID  BiasTemp  
SS0279     15
KEOPS      2.5
BB         5

我知道我可以编写类似这样的脚本以获得所需的结果:

def transform_DF(old_df,col):
    list_stations = list(set(old_df['StationID'].values.tolist()))
    header = list(old_df.columns.values)
    header.remove(col)
    header_new = header
    new_df = pandas.DataFrame(columns = header_new)
    for i,station in enumerate(list_stations):
        general_results = old_df[(old_df['StationID'] == station)].describe()
        new_row = []
        for column in header_new:
            if column in ['StationID']: 
                new_row.append(station)
                continue
            new_row.append(general_results[column]['mean'])
        new_df.loc[i] = new_row
    return new_df

但是我想知道大熊猫中是否还有更简单的东西。

零:

您可以groupby继续StationID,然后mean()继续BiasTemp要输出Dataframe,请使用as_index=False

In [4]: df.groupby('StationID', as_index=False)['BiasTemp'].mean()
Out[4]:
  StationID  BiasTemp
0        BB       5.0
1     KEOPS       2.5
2    SS0279      15.0

如果没有as_index=False,它返回一个Series代替

In [5]: df.groupby('StationID')['BiasTemp'].mean()
Out[5]:
StationID
BB            5.0
KEOPS         2.5
SS0279       15.0
Name: BiasTemp, dtype: float64

groupby在此pydata 教程中了解更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫数据框:按两列分组,然后对另一列取平均值

计算文件中每一列的平均值

如何在熊猫中获取使用另一列值选择的行的平均值

在熊猫中,如何根据另一列的平均值创建具有等级的新列

熊猫按另一列的平均值对一列的值进行排序

熊猫计算加权滚动平均值并将其应用于另一列

通过分组获得一列和另一列的平均值

Python-计算在条件之后开始的值的平均值(例如,在另一列中的第一个非零值之后)

根据熊猫中的另一列计算一列的平均值

熊猫分组多个列根据条件取另一列的平均值

熊猫:如何计算分组平均值

如何获取PostgreSQL中两个平均值之间的差异,其中平均值在一列上,而最终表按两列分组?

根据r中另一列的条件计算每小时平均值

如何通过考虑另一列中的信息来计算一列中的平均值?

另一列分组的列上的平均值

在熊猫中以均值取一列,然后以另一列取平均值

熊猫:计算按另一列分组的列的平均值

Excel-根据另一分组列计算一列中的平均值。每组的行数不是恒定的

取熊猫中不止一列的平均值

Groupby 多列计算大小并计算 Pandas 中另一列的平均值

Pandas/Python groupby 然后计算每组中另一列的平均值

计算另一列中两列的平均值

MYSQL中没有日期但按另一列分组的移动平均值

根据另一列中的其他 ID 计算 R 中列的平均值

熊猫中另一列的加权平均值

计算 20 秒间隔的平均值并按另一列分组

在给定条件的另一列上查找数据框中一列的平均值

按月分组并将一列的平均值除以另一列的平均值?

计算按另一列值分组的列平均值的新表