我有一个关于体育活动的数据集。我的数据如下所示:
VisitNum Date Trainer CaloriesBurned
1 01/04/20 Mike 500
2 01/06/20 Cindy 600
3 01/07/20 Lucy 550
4 01/10/20 Mike 650
5 01/15/20 Lucy 625
6 01/16/20 Lucy 575
7 01/19/20 Mike 525
8 01/21/20 Rebecca 592
9 01/26/20 Lucy 603
10 01/29/20 Mike 559
我的目标是让拳击手比较教练消耗的卡路里。这只是数据的快照,有30多个不同的培训师。我不想在情节中包括所有培训师,所以我想创建一个新变量“ Trainer2”,该变量用于查看每个培训师的访问次数,如果该次数小于3,则Trainer的新值将是成为“其他”。
这是我到目前为止的尝试:
if data["Trainer"].value_counts() >= 3:
data["Trainer2"]==data.Trainer
else:
data["Trainer2"]=="Other"
运行此代码时出现错误,我不确定自己做错了什么:
ValueError: The truth value of a Series is ambiguous. Use a.empty,
a.bool(), a.item(), a.any() or a.all().
答案 0 :(得分:0)
我知道了:
data["TrainerCounts"]=data["Trainer"].map(data['Trainer'].value_counts())
def f(row):
if row['TrainerCounts'] >= 3:
Trainer2 = row['Trainer']
elif row['TrainerCounts'] < 3:
Trainer2 = "Other"
return Trainer2
data['Trainer2'] = data.apply(f, axis=1)