python pandas:访问DataFrame中列表的元素
我在使用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)