代码之家  ›  专栏  ›  技术社区  ›  Manavalan Gajapathy Pal

在Pandas中基于带分隔符的依存列解析值

  •  1
  • Manavalan Gajapathy Pal  · 技术社区  · 9 年前

    Col2 中的参数值 Col1 。例如 c 第1行为2,第2行为7。是否可以提取 c

    pd.DataFrame({'col1': ['a:b:c:d', 'a:b:x:y:c:d'],
                 'col2': ['0:1:2:3', '3:4:5:6:7:8']})
    

    预期输出:

    pd.Series([2,7], name='c')
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Scott Boston    9 年前

    def f(x):
        p = dict(zip(x['col1'].split(":"),x['col2'].split(":")))
        return p['c']
    
    df.apply(f,axis=1).astype(int).rename('c')
    

    或者,如果你想要lambda:

    df.apply(lambda x: dict(zip(x['col1'].split(":"),x['col2'].split(":")))['c'],axis=1).astype(int).rename('c')
    

    输出:

    0    2
    1    7
    Name: c, dtype: int32