我有一个Pandas的数据框,看起来像这样:
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']})
我想将 Dataframe 分组到id
上,计算相应comp
的总和,并获得一个名为n_obs
的新列,该列跟踪总计了多少行(id)。
我试着使用df.groupby('id').sum()
,但这并不能产生我想要的结果。
我想在下面的形式输出:
id comp n_obs
1 0.1 2
2 0.3 2
我该怎么做有什么建议吗?
1条答案
按热度按时间z0qdvdin1#
您可以将
.groupby()
与.agg()
一起使用:这将输出: