gpt4 book ai didi

python - 使用 Pandas 数据框列中的整数从另一列内的列表中提取特定值

转载 作者:太空宇宙 更新时间:2023-11-04 05:06:09 25 4
gpt4 key购买 nike

我有一个数据框,其中一列包含一个列表,另一列包含该行的特定整数值。我想使用此整数值从另一列内的列表中提取特定值:

df:

    list                                         val
1 ['mohamed', 'adam', 'paul', 'dave'] 3
2 ['dave', 'fred'] 0
3 ['john', 'dave', 'jane'] 1
4 ['dave'] 0

创建者:

df = df.loc[df['unsplit_list'].str.contains('dave')]
df['list'] = df['unsplit_list'].str.split('|')
df['val'] = df['list'].apply(lambda lst: [i for i, x in enumerate(lst) if 'dave' in x][0])
df['val'] = df['val'].astype(int)

当我尝试从我的列表中获取 dave 的值时,出现错误:

df['list'].str[df['val']]

>>
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

但是如果我这样做了:

df['list'].str[df[1]]

然后我就可以使用这个整数获得列表中的值。我怎样才能得到我想要的这个值?

最佳答案

df['name'] = [row[0][row[1]] for ix, row in df.iterrows()]

关于python - 使用 Pandas 数据框列中的整数从另一列内的列表中提取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44440732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com