如果我的数据框具有包含相同名称的列,是否有办法将具有相同名称的列与某种功能(即总和)组合在一起?
例如:
In [186]:
df["NY-WEB01"].head()
Out[186]:
NY-WEB01 NY-WEB01
DateTime
2012-10-18 16:00:00 5.6 2.8
2012-10-18 17:00:00 18.6 12.0
2012-10-18 18:00:00 18.4 12.0
2012-10-18 19:00:00 18.2 12.0
2012-10-18 20:00:00 19.2 12.0
我如何通过对列名相同的每一行进行求和来折叠NY-WEB01列(有一堆重复的列,而不仅仅是NY-WEB01)?
解决方法:
我相信这就是你所追求的:
df.groupby(lambda x:x, axis=1).sum()
或者,根据df的长度,快3%到15%之间:
df.groupby(df.columns, axis=1).sum()
编辑:要扩展超出总和,请使用.agg()(.aggregate()的缩写):
df.groupby(df.columns, axis=1).agg(numpy.max)
标签:pandas-groupby,python,pandas,dataframe,group-by
来源: https://codeday.me/bug/20190928/1828132.html