基于多个标准熊猫在数据框中生成计数列

我有一个这样的数据框:

Location  Action 
House1    Quote
House2    Offer
House3    Quote
House2    Quote
House2    Quote
House3    Offer

我想添加两列,一列显示任何给定房屋的报价计数,另一列显示任何给定房屋的报价计数。

我已经尝试了 groupby 和 transform 的一些选项,但无法弄清楚如何在我想要计算的“操作”列中指定条件。

理想情况下,输出是这样的:

Location  Action  Quotes  Offers 
House1    Quote   1       0
House2    Offer   2       1
House3    Quote   1       1
House2    Quote   2       1
House2    Quote   2       1
House3    Offer   1       1

回答

您可以执行pd.crosstabmerge返回Location

df.merge(pd.crosstab(df['Location'],df['Action']), on='Location')

 Location Action  Offer  Quote
0   House1  Quote      0      1
1   House2  Offer      1      2
2   House2  Quote      1      2
3   House2  Quote      1      2
4   House3  Quote      1      1
5   House3  Offer      1      1


以上是基于多个标准熊猫在数据框中生成计数列的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>