当前位置 博文首页 > pandas apply使用多列计算生成新的列实现示例

    pandas apply使用多列计算生成新的列实现示例

    作者:wolf1132 时间:2021-07-21 18:44

    在python数据分析中,有时需要根据多列数据生成中间结果,pandas给我们带来了很多方便,通常简短的代码可以实现一些高级功能,灵活掌握一些技巧可以事倍功半

    pandas的apply方法用于对指定列的每个元素进行相同的操作,下面生成一个dataFrame用于演示:

    import pandas as pd
    a=range(5)
    b=range(5,10)
    c=range(10,15)
    data=pd.DataFrame([a,b,c]).T
    data.columns=["a","b","c"]
    print(data)
    

    上面的代码生成的数据如下:

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

    下面使用使用a,b两列相加生成x1列

    data["x1"]=data[["a","b"]].apply(lambda x:x["a"]+x["b"],axis=1)
    

    结果如下:

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

    关键的参数是axis=1,指定计算的方向是行而不是列,默认是0,也就是按列进行计算

    jsjbwy