python pandas:访问DataFrame中列表的元素

6 投票
1 回答
3429 浏览
提问于 2025-04-18 07:13

我在使用DataFrame的时候,遇到了一个问题,就是如何访问列表中的元素:

import pandas as pd
from pandas import DataFrame

d=DataFrame({'pos': {0: [0.11,0.14,0.46], 1:[1,2,3]},'n': {0: 2.0,1:1}})

在'pos'这一列里,有一个列表。我需要计算一个新列,这个新列的值是'pos'列中列表的第'n'个元素。在这个例子中,就是0.46和2。

我觉得可以这样做:

d[u'new column']=d.pos.apply(lambda x: x[0])

但是我需要用x[d.n]来代替x[0]。

我看过手册,也在论坛上搜索过,但没有找到相关的信息。我觉得这应该是很简单的事情,但我卡住了。请帮帮我。

1 个回答

2

谢谢大家!这个方法很好用:

def func(x): 
    return x.pos[int(x.n)]

d['new column']=d.apply(lambda row: func(row), axis=1)

撰写回答