Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确定数据帧列中列表列表的长度?_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何确定数据帧列中列表列表的长度?

Python 如何确定数据帧列中列表列表的长度?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,其中有一列包含如下列表 指数 (“源”、“目标”) 最短路径值 路径列表 0 (‘a’、‘b’) 3. [a'、[c'、[b']、[a'、[c'、[d'、[b']、[a'、[e'、[f'、[g'、[b']] 1. (‘g’、‘z’) 1. [g',z',[g',l',z']] 您可以创建两个函数,每列一个,并使用apply()方法应用它们。见下文: def length_of_paths(l): k=[len(i) for i in l] minlen=min(k

我有一个数据框,其中有一列包含如下列表

指数 (“源”、“目标”) 最短路径值 路径列表 0 (‘a’、‘b’) 3. [a'、[c'、[b']、[a'、[c'、[d'、[b']、[a'、[e'、[f'、[g'、[b']] 1. (‘g’、‘z’) 1. [g',z',[g',l',z']]
您可以创建两个函数,每列一个,并使用apply()方法应用它们。见下文:

def length_of_paths(l):
    k=[len(i) for i in l]
    minlen=min(k)
    return [i-1 for i in k if i!=minlen]

def total_value(l):
    return sum([1/i for i in l])

df['length of paths']=df['list of paths'].apply(lambda x: length_of_paths(x))

df['total value']=df['length of paths'].apply(lambda x: total_value(x))
输出:

>>> print(df)

                                list of paths length of paths  total value
0  [[a, c, b], [a, c, d, b], [a, e, f, g, b]]          [3, 4]     0.583333
1                         [[g, z], [g, l, z]]             [2]     0.500000

您能否澄清一下:“在第二列中,我想对‘路径长度’列中每行的反向值求和。”?此外,我相信您的预期输出是不正确的