【发布时间】:2020-07-14 22:55:51
【问题描述】:
Customer Year Customer Lost/Retained
A 2009 Retained
A 2010 Retained
A 2011 Lost
B 2008 Lost
C 2008 Retained
C 2009 lost
我已经使用 itterrows() 根据上述逻辑创建客户丢失/保留列。
如果客户连续一年重复,他会被保留,否则会丢失。
for i, row in df.iterrows():
if (df[df['Year'] == row['Year']+1]['Customer']).str.contains(df['Customer'].iloc[i]).any():
df['Customer Lost/Retained'].iloc[i] = 'Retained'
else:
df['Customer Lost/Retained'].iloc[i] = 'Lost'
这段代码可以进一步优化吗?
【问题讨论】:
标签: python-3.x pandas optimization iteration