DataFrame 对每一行做 lambda 处理

只需要,添加一个 axis 参数即可。

if __name__ == "__main__":

    def ff(x):
        if x["1"] < 4:
            return x["1"]
        return x["2"]

        pass
    dd = pd.DataFrame()
    df = pd.DataFrame({"1": [1, 2, 3,4], "2": [10, 11, 12,13]})
    print(df)

    print("---------------")
    rr = df.apply(lambda x: ff(x), axis=1)
    df["calc"] = rr

    print(df)

    pass

运行结果为:

   1   2
0  1  10
1  2  11
2  3  12
3  4  13
---------------
   1   2  calc
0  1  10     1
1  2  11     2
2  3  12     3
3  4  13    13

发布了42 篇原创文章 · 获赞 35 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/wang603603/article/details/86626387