Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 寻找;熊猫";将多列聚合到一行的方法_Python_Pandas - Fatal编程技术网

Python 寻找;熊猫";将多列聚合到一行的方法

Python 寻找;熊猫";将多列聚合到一行的方法,python,pandas,Python,Pandas,我正在处理包含许多图像衍生特征的表,一个图像序列的每个时间点都有一行特征,还有多个图像。图像标识符包含在一列中。为了压缩(主要用于平行坐标图),我想将列减少/聚合为单个值。必须根据列中的特征(例如平均值、最大值或自定义值)选择“减少”操作。DataFrame.agg看起来很自然,但它给了我一个包含多行的表。现在我正在做这样的事情: result_df = DataFrame() for col in df.columns: if col in ReduceThisColumnByMean:

我正在处理包含许多图像衍生特征的表,一个图像序列的每个时间点都有一行特征,还有多个图像。图像标识符包含在一列中。为了压缩(主要用于平行坐标图),我想将列减少/聚合为单个值。必须根据列中的特征(例如平均值、最大值或自定义值)选择“减少”操作。DataFrame.agg看起来很自然,但它给了我一个包含多行的表。现在我正在做这样的事情:

result_df = DataFrame()
for col in df.columns:
  if col in ReduceThisColumnByMean:
    result_df[col] = df.mean()
  elif col in ReduceThisColumnByMax:
    result.df[col] = df.max()

对我来说,这似乎是一条迂回之路,可能无法很好地扩展(这不是一个大问题,因为reduce操作的数量很可能不会超过几个)。是否有更简单的方法将具有特定操作的多个列聚合到一行?

您可以按列表选择所有列,获取
mean
max
并通过最后一次将
Series
转换为一行
DataFrame
并进行转置:

result_df = pd.concat([df[ReduceThisColumnByMean].mean(),
                       df[ReduceThisColumnByMax].max()]).to_frame().T