我有一个大约200行的数据框架,我需要组合重复的作者列,然后找到它们的收视率的平均值。我怎样才能做到这一点?下面是数据框架的示例。
Viewership Writers
0 11.20 Ricky Gervais
1 11.20 Stephen Merchant
2 11.20 Greg Daniels
3 8.70 Greg Daniels
4 10.30 Mindy Kaling
.. ... ...
192 3.25 Halsted Sullivan
193 3.25 Warren Lieberstein
194 3.51 Niki Schwartz-Wright
195 4.56 Brent Forrester
196 5.69 Greg Daniels
[197 rows x 2 columns]我的解决办法是:
mean = df2.groupby(['Writers']).mean()
print(mean)但是,它仍然列出了所有有副本的作者,并且没有将他们的收视率合并成一个平均值。我得到的结果是:
Viewership
Writers
Brent Forrester 7.560000
Gabe Miller 4.165000
Gene Stupnitsky 8.618333
Gene Stupnitsky 10.200000
Greg Daniels 9.200000
Halsted Sullivan 7.503333
Justin Spitzer 7.670000
Lee Eisenberg 7.867143
Lee Eisenberg 10.120000
Michael Schur 9.040000
Mindy Kaling 9.420000
Paul Lieberstein 7.395000
Stephen Merchant 9.070000
Stephen Merchant 11.200000
Warren Lieberstein 5.280000
Aaron Shure 7.173333
Allison Silverman 4.746667
Amelie Gillette 5.655000
Anthony Q. Farrell 8.315000
B. J. Novak 7.718182
Brent Forrester 7.348889
Brent Forrester 7.670000
Caroline Williams 8.840000
Steve Carell 7.945000
Steve Hely 6.073333
Tim McAuliffe 3.440000
Warren Lieberstein 7.503333我尽了最大的努力来保存我在结果中所得到的凹痕。正如您所看到的,一些作者的名字开头有一个空格。我肯定这会引起我的问题吗?
发布于 2022-11-24 03:48:32
尝试:
df2['Writers'] = df2['Writers'].str.strip()
mean = df2.groupby(['Writers']).mean()
print(mean)这将在分组之前删除所有空格问题。
https://stackoverflow.com/questions/74555228
复制相似问题