通过添加两列的值来创建新的df

时间:2018-11-12 10:32:24

标签: python

我正在从另一个创建新的数据系列,我正在使用以下代码

df = lcldf.groupby('DateTime', as_index=False)[(lcldf['Response KWH/hh (per half hour) ']) & (lcldf['KWH/hh (per half hour) '])].sum()

我想为同一日期(lcldf['Response KWH/hh (per half hour)添加列(lcldf['KWH/hh (per half hour)lcldf['Date']的值,但是,出现以下错误:

  

TypeError:&不支持的操作数类型:“ str”和“ str”

我不知道我是否可以同时执行此操作,如果不可能,为什么可以这样做?

原始df是:

House     DateTime                    KWH/hh (per half hour)    Response KWH/hh (per half hour)  
1         11/8/2012  10:30:00 AM      2                         1
1         11/8/2012  11:00:00 AM      5                         4
1         11/8/2012  11:30:00 AM      1                         1
2         11/8/2012  10:30:00 AM      2                         1
2         11/8/2012  11:00:00 AM      5                         4
2         11/8/2012  11:30:00 AM      1                         1
3         11/8/2012  10:30:00 AM      2                         1
3         11/8/2012  11:00:00 AM      5                         4 
3         11/8/2012  11:30:00 AM      1                         1

预期的输出将是这样的(dflcl)

DateTime                    KWH/hh (per half hour)    Response KWH/hh (per half hour)  
11/8/2012  10:30:00 AM      6                         3
11/8/2012  11:00:00 AM      15                        12
11/8/2012  11:30:00 AM      3                         3

1 个答案:

答案 0 :(得分:0)

您可以使用:

df = lcldf.groupby('DateTime').sum()[["KWH/hh (per half hour)", "Response KWH/hh (per half hour)"]]