繁体   English   中英

如何使用python在数据框中添加新的计算列

[英]How to add new calculated column in a dataframe using python

但是,这可能是一个新手问题,我花了几个小时弄清楚该如何做。 好的,我有一个包含150个变量和一个target的数据框。 示例如下:

train
Out[1]: 
        var1  var2    target
0          A      C      10.5   
1          A      D      13.5          
2          B      D      2.5     

我想用添加的具有目标均值的列创建新的数据框。 例如var1_new的row1应该具有目标的均值,其中var1 == A,即12((10.5 + 13.5)/ 2)

我无法在python中弄清楚。 任何帮助,将不胜感激。

train_new
Out[2]: 
          var1   var2  target    var1_new   var2_new   
0          A      C      10.5       12       10.5             
1          A      D      13.5       12        8       
2          B      D      2.5        2.5       8      
variables = ['var1', 'var2']
for var in variables:
    df[var + "_new"] = None

for var in variables:
    for k, v in df.groupby(var).mean()['target'].iteritems():
        df.loc[df[var] == k, var + "_new"] = v

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM