首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列表索引

Python列表索引
EN

Stack Overflow用户
提问于 2021-07-01 22:27:31
回答 2查看 51关注 0票数 0

我有下面的表格

代码语言:javascript
复制
    userid  eventid urlclick
0   A   EID-1   [0, 2, 2, 4, 0]
1   A   EID-2   [1, 0, 2, 5, 1]

我的目标是获得urlclick列的特定值的索引,结果如下

代码语言:javascript
复制
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]

我使用以下代码实现了这一点。但是有没有更好的方法呢?

代码语言:javascript
复制
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        
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-02 21:43:07

您也可以尝试使用np.where

代码语言:javascript
复制
np.where(np.array([0, 2, 2, 4, 0]) == 0)[0].tolist()
np.where(np.array([1, 0, 2, 5, 1]) == 0)[0].tolist()

输出:

代码语言:javascript
复制
[0, 4]
[1]
票数 0
EN

Stack Overflow用户

发布于 2021-07-01 22:37:39

对于此任务,您可以使用enumeratelist理解,如下所示

代码语言:javascript
复制
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]))

输出

代码语言:javascript
复制
[0, 4]
[1]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68212017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档