我是该领域的新手,正在使用数据集来寻找对客户行为的有意义的见解。我的dataset
如下:
customerId周first_trip_week游乐设施 0 156 44 36 2 1 164 44 38 6 2 224 42 36 5 3 224 43 36 4 4 224 44 36 5
我想要做的是创建新列week 44
,week 43
,week 42
,并获取“ ride”列中的值,以将其填入相应客户ID的行中。希望我最终也可以将customerId
用作索引,并获得不同周的面额。帮助将不胜感激!
谢谢!!
答案 0 :(得分:0)
如果我对您的理解正确,那么您想在第44、43和42周的同一数据框中创建新列,并为每个没有该值的customerId和NaN设置正确的值。如果您的原始数据框包含所有用户数据,则我将首先过滤具有正确周号的数据框
week42DF = dataset.loc[dataset['week']==42,['customerId','rides']].rename(columns={'rides':'week42Rides'})
仅获取游乐设施和customerId,并在此处重命名前者,使我们的工作变得简单一些。然后左键将旧数据框和新数据框连接到customerId
dataset = pd.merge(dataset,week42DF,how='left',on='customerId')
week42DF中缺少的用户在合并数据集中的week42rides列中将具有NaN,然后您可以使用.fillna(0)方法替换为零。每周执行此操作。
有关更多信息,请参见merge和更一般的concatenate上的Pandas文档。