python - 读取文件时 Pandas 均值函数中显示意外值
问题描述
我正在处理 csv 数据。当我使用 pandas 读取 csv 文件并找到平均值时,它带有一个额外的数字开始。
正确答案:87.98 当我打印时:97 87.98
97 是数据的第一个条目(在 A1 处)。所有数字都在从 A1 到 A100 的表格中,没有标题和数字列。
为什么会这样?如何删除 97 部分?
file = pd.read_csv("malnutrition.csv")
meanD = file.mean()
print("\nPeople with malnutrition's IQ average: " + str(meanD))
还有,我怎样才能显示数据?喜欢在 R 中查看
谢谢
解决方案
DataFrame.mean()
返回 a Series
,其中 Index 是原始 DataFrame 的列标签,值是这些列的平均值。即使file
是 1 列 DataFrame,您仍然会返回 Series,因为 1 列 DataFrame不是Series。
import pandas as pd
import numpy as np
np.random.seed(42)
df = pd.DataFrame(np.random.randint(1, 10, 100))
print(df.mean())
0 5.32
#| |
#| Mean of column `0`
#|
#Col label
而是使用Series.mean()
which 返回一个标量。
print(df[0].mean())
5.32
但是您的数据还有其他一些问题。您正在读取第一个值作为标题,这是您不想要的。此外,当您只有一列时,不需要 DataFrame。所以你要
s = pd.read_csv('malnutrition.csv', header=None, squeeze=True) # Should be a Series
print(s.mean())
推荐阅读
- python - 如何根据带有熊猫的索引列表将字符串数据框拆分为多列?
- python - PyWinAuto - 如何检查按钮控件何时可见?
- css - 我似乎无法应用较轻的字体粗细来响应输入并选择选项元素
- terraform - 访问 terraform.tfvars 中的 terragrunt 中的变量
- python - 使用 Pymongo 查找数组内的文档
- python - 在乒乓球比赛中得分。如何在乒乓球比赛中更新分数?
- node.js - 如何在 node.js 中的单个路由中同时发布文件和数据?
- javascript - 函数内的Javascript for循环不推送到数组
- node.js - Mongodb,猫鼬 - 使用聚合和组按 _id 和日期排序
- python - 为什么等高线图的左下角有一块白色的白色?