函数pandas.DataFrame.mean
始终返回pandas.Series
。我希望它返回一个与原始数据帧具有相同列名的数据帧。怎么做到这一点?
import numpy as np, pandas as pd
df = pd.DataFrame(np.random.rand(10,5), columns = ['a', 'b', 'c', 'd', 'e'])
这将返回一个pandas.Series对象
df.mean()
这样做
df.mean(level = 0)
这样做
df.mean(axis = 0)
我这样做的当前方式是使用以下命令,这是最简单的方法吗?!
means = df.mean(axis = 0)
pd.DataFrame(means).T
我希望有一个更直接的解决方案!
答案 0 :(得分:4)
你可以使用to_frame
和transpose:
In [188]:
df.mean().to_frame().T
Out[188]:
a b c d e
0 0.393221 0.441338 0.445528 0.67516 0.699105