【问题标题】:Pandas Save the results of groupby operation as new column in the original dataframe [closed]Pandas将groupby操作的结果保存为原始数据框中的新列[关闭]
【发布时间】:2019-04-01 02:04:48
【问题描述】:

我要设置结果

df.groupby(['région'])['counts'].sum())

作为我的数据框的c2 列。

所以我这样做:

df['c2'] = pd.to_numeric(df.groupby(['région'])['counts'].sum()).astype(float) 

这样

pd.to_numeric(df.groupby(['région'])['counts'].sum()).astype(float)

有float类型,所以df['c2']也应该有float类型。

但是,当我尝试打印我的数据框 df['c2'] 的列时,所有值都是 NaN

我该如何解决这个问题?


编辑 1:

My code is here

【问题讨论】:

  • 欢迎来到 Stack Overflow。不幸的是,你的问题不是很清楚。请阅读How to Ask,然后阅读edit您的问题。
  • 谢谢!当我尝试打印我的专栏时,一切都在 NAN!
  • 请校对并正确格式化您的问题。还请提供了解您的问题所需的所有信息,例如您的数据样本。
  • 我的专栏将 NAN 作为值.. 我无法解决它
  • 我不知道如何将 NAN 转换为 int 或 float。我尝试了很多东西,但它不起作用

标签: python pandas dataframe


【解决方案1】:

在您的代码中,在这部分之后:

import numpy as np
d_copy = d.copy()

这样做:

d_copy['counts2'] = d_copy.groupby(['region'])['counts'].transform('count')

结果

【讨论】:

  • 它计算总和.. 但是当我尝试将结果放在我的数据框的列中时,它显示 NAN
  • 当你输入 df.groupby(['région'])['counts'].sum()) 时,结果中是否包含 NaN?
  • 不,我有整数。 1 ,5,6
  • 只有当我这样做时它才会显示 NAN df['c2'] = pd.to_numeric(df.groupby(['région'])['counts'].sum())
  • 试试这个:df['c2'] = pd.to_numeric(df.groupby(['région'])['counts'].sum(), downcast='float')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 2019-05-13
  • 2012-08-25
  • 2021-06-23
  • 2020-01-02
  • 2017-03-16
相关资源
最近更新 更多