我有一个像这样的pandas数据框:
Site City ... Year_Built Heritage_Site
a Paris ... 1887 Yes
b London ... 1858 No
c Paris ... 1202 Yes
d New York ... 1930 Yes
然后,我使用以下语句计算每个城市的一些变量的均值
df_mean = df.groupby('City').mean()
但是,我还想在第二个数据帧的末尾添加一个列,它基本上计算了'是'的出现次数。 (在Heritage_Count列中)为每个城市。类似于下面显示的内容:
City ... Heritage_Count
Paris ... 4
London ... 2
New York ... 0
最有效的方法是什么?
答案 0 :(得分:2)
IIUC
df.groupby('City').agg({'Year_Built':'mean','Heritage_Site':lambda x : sum(x=='Yes')})
Out[489]:
Year_Built Heritage_Site
City
London 1858.0 0
NewYork 1930.0 1
Paris 1544.5 2