我有下面的表格
userid eventid urlclick
0 A EID-1 [0, 2, 2, 4, 0]
1 A EID-2 [1, 0, 2, 5, 1]我的目标是获得urlclick列的特定值的索引,结果如下
userid eventid urlclick urlclick_ind
0 A EID-1 [0, 2, 2, 4, 0] [0, 4]
1 A EID-2 [1, 0, 2, 5, 1] [1]我使用以下代码实现了这一点。但是有没有更好的方法呢?
new_ind = []
for row in time1.urlclick:
ind = 0
indlst = []
for element in row:
if element == 0:
indlst.append(ind)
ind += 1
new_ind.append(indlst)
time1['urlclick_ind'] = new_ind 发布于 2021-07-02 21:43:07
您也可以尝试使用np.where
np.where(np.array([0, 2, 2, 4, 0]) == 0)[0].tolist()
np.where(np.array([1, 0, 2, 5, 1]) == 0)[0].tolist()输出:
[0, 4]
[1]发布于 2021-07-01 22:37:39
对于此任务,您可以使用enumerate和list理解,如下所示
def find_zeros(row):
return [inx for inx,i in enumerate(row) if i==0]
print(find_zeros([0, 2, 2, 4, 0]))
print(find_zeros([1, 0, 2, 5, 1]))输出
[0, 4]
[1]https://stackoverflow.com/questions/68212017
复制相似问题