簡體   English   中英

在列上分組 pandas DataFrame 並對其求和,同時保留求和觀察的數量

[英]Group pandas DataFrame on column and sum it while retaining the number of sumed observations

我有一個 pandas Dataframe 看起來像這樣:

import pandas as pd
df = pd.DataFrame({'id':[1, 1, 2, 2], 'comp': [-0.10,0.20,-0.10, 0.4], 'word': ['boy','girl','man', 'woman']})

我想在id上對 dataframe 進行分組,並計算相應comp的總和,並獲得一個名為n_obs的新列,該列跟蹤匯總了多少行(id)。

我嘗試使用df.groupby('id').sum()但這並沒有產生我想要的結果。

我想要以下表格中的 output:

id   comp   n_obs
1    0.1    2
2    0.3    2

關於如何執行此操作的任何建議?

您可以將.groupby().agg() ) 一起使用:

df.groupby("id").agg(comp=("comp", "sum"), n_obs=("id", "count"))

這輸出:

    comp  n_obs
id
1    0.1      2
2    0.3      2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM