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

标签:
pandas,apply多列生成,pandas,多列计算生成新的列

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com