如何使用DataFrame计算列的平均值?

时间:2018-10-17 06:51:58

标签: python numpy dataframe

我想用DataFrame计算一列的平均值。

例如第4列。 我使用以下代码:

import numpy as np
import pandas as pd

data = pd.DataFrame(np.arange(16).reshape(4,4))
list1= data.iloc[:, 3:4]
averageNum=np.mean(list1)
print(averageNum)

但是输出是:

   3    9.0
dtype: float64

为什么输出喜欢这个?

实际上,我只想获取9.0,那么如何获取呢?

3 个答案:

答案 0 :(得分:1)

给出您的数据,怎么样

averageNum = data.iloc[:, 3].mean()

这将找到data的第四列,即pandas.Series,其平均值为9。

print(averageNum)显示9.0

答案 1 :(得分:1)

使用DataFrame.iloc按位置选择4列,然后使用ComboBox

SelectedIndex

您的解决方案返回一列Text,解决方案是将List<string> lst = new List<string>(); lst.Add("1"); lst.Add("2"); lst.Add("3"); lst.Add("4"); lst.Add("5"); MessageBox.Show(comboBox.SelectedIndex.ToString()); // -1 comboBox.IsTextSearchEnabled = false; comboBox.ItemsSource = lst; comboBox.Text = "3"; MessageBox.Show(comboBox.SelectedIndex.ToString()); // -1 用于mean

averageNum = data.iloc[:, 3].mean()
print(averageNum)
9.0

答案 2 :(得分:0)

如果第4列的索引为'column4',则可以-

mean_of_column = df['column4'].mean()

iloc这样的函数可以为您提供索引,因此,当您有大量数据时,它可能会非常慢。 如果您可以根据矢量来考虑要执行的操作,它将更好更快。例如,我必须坚持使用多个内置函数,例如mean。我建议您通过实际花一些时间与教区或任何相关博客或讲座进行交流,而不是查找所有内容,从而使自己更加熟悉pandas library向熊猫初学者介绍10分钟)想在SO上做。