【发布时间】:2019-04-07 13:27:21
【问题描述】:
我有一个 pandas 数据框,其中包含 3 列,每列都包含用户在会话期间访问过的网站。
在某些情况下,用户可能在一个会话中没有访问过 3 个网站。这由 0 表示,表示没有访问过任何站点。
import pandas as pd
df = pd.DataFrame(data=[[5, 8, 1],[8,0,0],[1,17,0]],
columns=['site1', 'site2', 'site3'])
print(df)
site1 site2 site3
0 5 8 1
1 8 0 0
2 1 17 0
在上面的示例中,用户 0 访问了站点 5、8 和 1。用户 1 仅访问了站点 8,用户 2 访问了站点 1 和 17。
我想创建一个新列last_site,它显示用户在该会话中访问的最后一个站点。
我想要的结果是这样的:
site1 site2 site3 last_site
0 5 8 1 1
1 8 0 0 8
2 1 17 0 17
如何使用 pandas 以简洁的方式做到这一点?
【问题讨论】: