Python - 根据另一个列表从列表中选择一个值

时间:2018-05-31 05:05:43

标签: python pandas

我有一个数据框。在列A中,列B中有一个整数列表 - 一个整数。我想选择列A列表的第n个值,其中n是列B中的数字。因此,如果在列A中有[1,5,6,3,4]和列B:2,我想得到' 6'。

我试过了:

result = [y[x] for y in df['A'] for x in df['B']

但它不起作用。请帮忙。

2 个答案:

答案 0 :(得分:2)

你可以去申请即

df = pd.DataFrame({'A':[[1,2,3,4,5],[1,2,3,4]],'B':[1,2]})


                A  B
0  [1, 2, 3, 4, 5]  1
1     [1, 2, 3, 4]  2

# df.apply(lambda x : np.array(x['A'])[x['B']],1)
# You dont need np.array here, use it when the column B is also a list.
df.apply(lambda x : x['A'][x['B']],1) # Thanks @Zero 
0    2
1    3
dtype: int64

答案 1 :(得分:2)

string = bytes(string, encoding= 'utf-8') zip

一起使用
list comprehension