【发布时间】:2017-09-06 20:16:53
【问题描述】:
我有以下基于谷歌分析数据的 df:
Customer | transaction_id | medium | first_transaction_flag
ABC 12345 organic Y
ABC 23456 email 0
ABC 34567 organic 0
BCD 45678 organic 0
BCD 56789 referral 0
在上面的 df 中,交易 12345 的 first_transaction_flag 为 Y,这意味着这是客户的第一笔交易。
我需要添加第二个标记为 first_channel 的标志。它应该做的是为该渠道的一个客户标记,在该渠道中,所有后续交易都将其作为 first_channel = Y 获得。这将是输出:
Customer | transaction_id | medium | first_transaction_flag | first_channel
ABC 12345 organic Y Y
ABC 23456 email 0 0
ABC 34567 organic 0 Y
BCD 45678 organic 0 0
BCD 56789 referral 0 0
基本上,这将是一个条件 if 语句:如果 first_transaction_flag = Y,则将客户和媒介的相同组合标记为 Y。我试图考虑是否可以使用 loc 或 np.where 语句,但没有不要走太远。
【问题讨论】:
标签: python pandas if-statement conditional where-clause