Pandas:计算平均值

2024-04-20 12:11:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv数据集,我想计算从第14列开始的所有行的平均值。这是我迄今为止所做的,但我仍然没有得到平均值。有人能帮我吗?在

我也对轴心的事感到困惑。在

file = ('dataset.csv')

df = pd.read_csv(file)


d_col = df[df.columns[14:]]

mean_value = d_col['mean'] = d_col.mean(axis=1, skipna=True, numeric_only=True)

print mean_value

d_col.to_csv('out.csv')

Tags: columnscsv数据truedfreadvaluecol
3条回答

因为您没有提供示例数据,请参见下面的示例代码。第一列是一些应该忽略的文本列,而DataFrame df中的其他列是应该用来计算平均值的列。在

# prepare some dataset
letters = 'abcdefghijklmnopqrstuvwxyz'
rows = 10
col1 = np.array(list(letters))[np.random.permutation(len(letters))[:rows]]
df = pd.concat([pd.DataFrame(col1), pd.DataFrame(np.random.randn(rows, 10))], axis=1)

result = df.iloc[:, 1:].mean(axis=1)

结果如下:

^{pr2}$

/edit:将上面的答案更改为使用df.iloc而不是{},因为后者在两列同名的情况下会产生问题。请把培达奇的答案标为正确答案。在

这是一种非常奇怪的索引语法。更清晰的方法应该是:

d_col = df.iloc[:, 14:]

axis=0表示按列取平均值,axis=1按行计算,这似乎是正确的。我不知道你说得不到平均值是什么意思。d_col应该包含原始数据和一个名为“mean”的新列包含结果。在

问题就在这里,我把d_col保存为输出csv文件而不是mean_值。这很傻,但我想你就是这样学会捡东西的。感谢@peidaqi等人的解释。在

相关问题 更多 >