熊猫:汇总数据框中的所有元素?

时间:2020-10-06 00:48:37

标签: python pandas

鉴于Pandas数据框df,我们可以像这样对列进行求和

[x for x in df.sum()]

并产生这样的总和。

sum([x for x in df.sum()])

是否可以仅使用数据帧操作来完成此操作,而不必求助于Python的sum()?

2 个答案:

答案 0 :(得分:9)

我们可以做stack

df.stack().sum()

答案 1 :(得分:5)

使用np.sum

np.sum(df.to_numpy())

或@jakub指出:

df.to_numpy().sum()

时间:

使用...

df = pd.DataFrame(np.arange(10000).reshape(100,-1))

%timeit df.to_numpy().sum()
# 12.1 µs ± 357 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit np.sum(df.to_numpy())
# 14 µs ± 263 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit df.stack().sum()
# 469 µs ± 30.2 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

%timeit df.sum().sum()
# 381 µs ± 21.4 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)