Python 数据帧内列表中元素的位置

Python 数据帧内列表中元素的位置,python,pandas,Python,Pandas,这里是新手 我有一个Pandas数据框,其中包含列crewjob,如下所示。看起来每一行都是一个列表 crewjob [Director, Screenplay, Screenplay, Screenplay,... [Executive Producer, Screenplay, Original Musi... [Director, Characters, Writer, Sound Recordist] [Director, Screenplay,

这里是新手

我有一个Pandas数据框,其中包含列crewjob,如下所示。看起来每一行都是一个列表

    crewjob
    [Director, Screenplay, Screenplay, Screenplay,...
    [Executive Producer, Screenplay, Original Musi...
    [Director, Characters, Writer, Sound Recordist]
    [Director, Screenplay, Producer, Producer, Pro...
    [Original Music Composer, Director of Photogra...
    [Director, Screenplay, Producer, Producer, Ori...
    [Director, Screenplay, Producer, Original Musi...
    [Screenplay, Screenplay, Director, Novel]
    [Director, Screenplay, Screenplay, Producer, P...
我想为每一行提取列表中主管的位置。 我尝试了enumerate方法,它抛出了一个空白列表

   indices = [i for i, x in enumerate(creditsdf['crewjob']) if x == "Director"]
我还尝试了.index方法

   creditsdf['test'] = creditsdf['crewjob'].index("Director")
这会产生以下错误

TypeError: 'RangeIndex' object is not callable

使用嵌套列表理解:

indices = [[i for i, x in enumerate(y) if x == "Director"] for y in increditsdf['crewjob']]
print (indices)
[[0], [], [0], [0], [], [0], [0], [2], [0]]

感谢jezrael,上述解决方案有效。出于好奇,是否可以使用.index方法执行此操作?@BilzR-是的,但必须使用
index=[find_element_in_list(“Director”,y)for y in incredistsDF['crewjob']]
from,以避免列表中不存在值时出现错误。