按年份分组和其他列,并根据特定条件的熊猫计算平均值

丹麦文

我有一个数据框,如下所示

Tenancy_ID      Unit_ID             End_Date       Rental_value
1               A                   2012-04-26     10
2               A                   2012-08-27     20
3               A                   2013-04-27     50
4               A                   2014-04-27     40
1               B                   2011-06-26     10
2               B                   2011-09-27     30
3               B                   2013-04-27     60
4               B                   2015-04-27     80

从上面我想准备下面的数据框

预期产量:

Unit_ID   Avg_2011   Avg_2012  Avg_2013  Avg_2014   Avg_2015
A         NaN            15        50        40         NaN
B         20             NaN       60        NaN        80

脚步:

  • Unit_ID = A,2012年有两份合同,租金分别为10和20,因此平均为15。

  • Avg_2012 = 2012年的平均租金价值。

耶斯列尔

您可以汇总平均值并按进行重塑Series.unstack,最后更改列的名称按DataFrame.add_prefix以及最后的数据清除-DataFrame.reset_index使用DataFrame.rename_axis

df1 = (df.groupby(['Unit_ID', df['End_Date'].dt.year])['Rental_value']
         .mean()
         .unstack()
         .add_prefix('Avg_')
         .reset_index()
         .rename_axis(None, axis=1))
print (df1)
  Unit_ID  Avg_2011  Avg_2012  Avg_2013  Avg_2014  Avg_2015
0       A       NaN      15.0      50.0      40.0       NaN
1       B      20.0       NaN      60.0       NaN      80.0

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据数据框中其他列中的分组值计算列的平均值

在计算其他列的平均值时按“日期”分组

在条件下按列分组以计算平均值

如何分组,总结和计算列中每个其他元素的平均值?

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

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

如何按一列分组并获得其他列的平均值

熊猫-移动平均值按多列分组

Python Pandas:创建累积平均值,同时按其他列分组

根据过滤条件按组计算平均值

如何基于熊猫中其他列的条件对列的某些值求平均值

大熊猫中的列以其他列的平均值为条件

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

根据熊猫数据框中的其他列获取变量的平均值

计算按列号分组的平均值

蟒蛇。熊猫 CSV。用其他列值计算平均值

计算新列作为其他列熊猫的平均值

如何获得按特定列分组的列的平均值?

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

熊猫:计算分组平均值的差异

根据 Google 表格中的其他列查找平均值的计算脚本

根据其他列中的值计算Google文档中的平均值

列的平均值,条件是其他列的前x%

计算月份的平均值并替换其他列的值

根据条件pandas计算列平均值

我想计算特定月份的熊猫列的平均值

通过按ID和其他特定条件分组查找持续时间

按一列分组,根据该列找到最小值和最大值,并计算平均值做滑动窗口 awk

根据pyspark中列和窗口周期中的过滤条件计算平均值