【问题标题】:Renaming columns in pandas dataframe during groupby operation在 groupby 操作期间重命名熊猫数据框中的列
【发布时间】:2019-10-14 15:33:17
【问题描述】:

我尝试重命名作为 groupby & count 操作的结果获得的列,如下所示:

dfa = df.groupby('Product_ID').Product_ID.count().rename(columns={0: "Product",1:"Sale_count"}).reset_index()
print(dfa[:1])

得到的输出是

 Product_ID     0
0  P00000142  1130

列名不是我指定的。所以我使用以下命令再次更改它

dfa.columns =['product','sales']
print(dfa[:1])

 product  sales
0  P00000142   1130

然后我得到了预期的列名。但是我相信它应该在第一个方法 dataframe.rename 中获得。第一个代码有什么问题 sn-p dfa = df.groupby('Product_ID').Product_ID.count().rename(columns={0: "Product",1:"Sale_count"}).reset_index()我没有得到预期的输出。

【问题讨论】:

  • 你需要df.groupby('Product_ID').size().reset_index(name='sales_count')吗?
  • df.groupby('Product_ID').Product_ID.count() 将产生一个系列,而不是一个数据框。但是,您的输出 一个数据框。您的代码似乎不太正确,否则输出看起来不一致。
  • @anky_91:这行得通!谢谢

标签: python pandas rename calculated-columns


【解决方案1】:

如 cmets 中所述,您需要:

df.groupby('Product_ID').size().reset_index(name='sales_count')

【讨论】:

    猜你喜欢
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 2017-01-26
    • 1970-01-01
    • 2020-10-12
    • 2019-04-12
    • 1970-01-01
    相关资源
    最近更新 更多