数据框中每列的平均值

时间:2019-04-10 17:26:19

标签: python pandas numpy dataframe

例如,使用包含特定二进制列(均位于numpy数组中)的数据框:

[1. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0.]
[1. 0. 0. 0. 0. 0. 0. 1. 1. 0. 1. 0. 0.]
[1. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0.]
[0. 0. 0. 1. 0. 0. 0. 1. 1. 0. 0. 0. 0.]
[1. 0. 0. 1. 0. 0. 0. 1. 0. 0. 0. 0. 0.]
[0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 1. 0.]
[1. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0.]
[1. 0. 0. 1. 0. 0. 0. 1. 0. 0. 1. 0. 0.]
[1. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0. 0.]

是否可以应用循环来迭代该列中的所有列?

就我而言,我需要获取每一列中的平均值,例如:

# Mean of position [0]           # Mean of position[3]
    1.                               1.
    1.                               0.
    1.                               0.
    0.                               1.
    1.                               1.
    0.                               1.
    1.                               0.
    1.                               1.
    1.                               1.
    0.                               0.

有什么办法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

只需将ilocmean一起使用:

meanZero = df.iloc[0].mean()
meanThird= df.iloc[3].mean()

答案 1 :(得分:1)

您可以使用numpy中的mean函数。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.mean.html

因此,在您的情况下,我认为您正在寻找np.mean(a, axis=1)