Python 如何更改DataFrame列值,以便相应地修改平均值?

Python 如何更改DataFrame列值,以便相应地修改平均值?,python,Python,我从中提取了2009年9月至2018年10月期间的熊猫数据框,平均风速列的平均值为4.65。我正在接受一个挑战,在这里有一个健全的检查,这列的平均值需要是4.64。如何修改此列的值,使此列的平均值变为4.64?是否有任何代码解决方案,或者我们必须手动执行此操作?我可以看到两种解决方案: 将该列的每个值减去0.01(4.65-4.64),如下所示: 2如果您不想更改所有行:找到可以删除的行,以获得所需的平均值(如果有): 这将在数据帧中创建一个新的布尔列,行中的True,如果删除,则该

我从中提取了2009年9月至2018年10月期间的熊猫数据框,平均风速列的平均值为4.65。我正在接受一个挑战,在这里有一个健全的检查,这列的平均值需要是4.64。如何修改此列的值,使此列的平均值变为4.64?是否有任何代码解决方案,或者我们必须手动执行此操作?

我可以看到两种解决方案:

  • 将该列的每个值减去0.01(4.65-4.64),如下所示:
  • 2如果您不想更改所有行:找到可以删除的行,以获得所需的平均值(如果有):

这将在数据帧中创建一个新的布尔列,行中的
True
,如果删除,则该列的其余部分的平均值将为4.64。如果有不止一个,你可以分析它们,选择哪一个看起来不那么重要,然后删除那一个。

你能详细说明一下为什么需要它吗?添加了用例
df['AvgWS'] -= 0.01
current_mean = 4.65
desired_mean = 4.64
n_rows = len(df['AvgWS'])

df['can_remove'] = df['AvgWS'].map(lambda x: (current_mean*n_rows - x)/(n_rows-1) ==  4.64)