Pandas的GroupBy和mean操作

3
以下代码适用于每列的总和,但我想计算每个物种的平均值。
# Read data file into array
data = numpy.genfromtxt('data/iris.csv', delimiter=',')
# picking the first column of data
firstcol = data[:,0]
meanfirstcol = numpy.mean(data[:,0]) #defining meanfirstcol
print("Mean of First Column is:", meanfirstcol)
1个回答

3
使用pandas进行操作相当简单。你只需要在 species 列上进行 groupby 操作即可。
import seaborn as sns
df = sns.load_dataset('iris')

df.groupby('species').mean()
            sepal_length  sepal_width  petal_length  petal_width
species                                                         
setosa             5.006        3.428         1.462        0.246
versicolor         5.936        2.770         4.260        1.326
virginica          6.588        2.974         5.552        2.026

1
在您的情况下,可使用以下代码导入数据:import pandas as pd; df = pd.read_csv( 'data/iris.csv', header=None, names=['花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度', '种类'] ) - cs95

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接