首页 > 解决方案 > Pandas:如何在聚合中将 DataFrame 折叠为单行 DataFrame 而不是 Series?

问题描述

标题说明了一切。我有一些适用于行的逻辑,我也想在聚合上使用它。

说这是数据框:

df = pd.DataFrame(np.array([[1, 2, 3], [1, 2, 3], [1, 2, 3]]),
                  columns=['a', 'b', 'c']) 


   a  b  c
0  1  2  3
1  1  2  3
2  1  2  3

我想要的是最原生的获取方式

   a  b  c
0  3  6  9

我遇到了几个使用Series.to_frame(),的解决方案,使用.transform()Series 的索引作为列等初始化一个新的数据框。但是我缺少一些简单的方法吗?

在纯 Numpy 中,我通常使用x.sum(axis=0)[np.newaxis, :]它。

标签: pythonpython-3.xpandasdataframenumpy

解决方案


我认为需要从以下位置转置 DataFrame Series

print (df.sum().to_frame().T)
   a  b  c
0  3  6  9

或者使用DataFrame构造函数:

print (pd.DataFrame([df.sum()]))
   a  b  c
0  3  6  9

推荐阅读