如何在pandas中使用apply使用生成新的列

如何在pandas中使用apply使用生成新的列

如何在pandas中使用apply使用生成新的列?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

在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,也就是按列进行计算

关于如何在pandas中使用apply使用生成新的列问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。