How can I select a specific column from each row in a Pandas DataFrame?

前端 未结 3 1401
走了就别回头了
走了就别回头了 2021-01-11 12:25

I have a DataFrame in this format:

    a   b   c
0   1   2   3
1   4   5   6
2   7   8   9
3   10  11  12
4   13  14  15

and an array like

3条回答
  •  说谎
    说谎 (楼主)
    2021-01-11 12:44

    For large datasets, you can use indexing on the base numpy data, if you're prepared to transform your column names into a numerical index (simple in this case):

    df.values[arange(5),[0,0,1,2,1]]
    
    out: array([ 1,  4,  8, 12, 14])
    

    This will be much more efficient that list comprehensions, or other explicit iterations.

提交回复
热议问题