提问人:unstuck 提问时间:8/15/2021 更新时间:8/15/2021 访问量:18543
NameError:未定义名称“mean”
NameError: name 'mean' is not defined
问:
计算基本统计数据,我得到以下内容:
import pandas as pd
max(df[Price])
min(df[Price])
但是,这会返回一个错误:
mean(df[Price])
NameError: name 'mean' is not defined
我只是想理解其中的逻辑。
这个效果很好:
df[Price].mean()
什么样的统计信息在点之后起作用,哪些统计信息必须包装在列中?
答:
4赞
AKX
8/15/2021
#1
min(
) 和 max()
是作为 Python 内置函数提供的函数。
你可以在任何迭代对象上使用它们,包括 Pandas 系列,这就是你所做的事情有效的原因。
Pandas 还提供 .min()
和 .max(
) 作为序列和数据帧的方法,例如 也会起作用。系列函数的完整列表在这里;此处是 DataFrame 函数的完整列表。df["Price"].min()
如果你确实想使用一个名为 的自由函数,例如,当你有一个不是 Pandas 系列的东西并且你不想将其转换为一个时,Python 标准库中确实存在一个,但你必须导入它:mean()
from statistics import mean
评论
0赞
unstuck
8/15/2021
好的,为了使代码保持一致,那么也许我应该始终导入 pandas 并始终引用方法并忘记函数。
1赞
AKX
8/15/2021
如果你正在处理 Pandas 对象,那么是的,尽可能使用这些方法可能会更好(也可能更快)。
评论
min
和 是 Python 默认提供的函数。没有默认函数,因此当您尝试 python 尝试查找任何用户定义的函数时,它会尝试查找任何名为 .是库提供的功能。参考这里max
mean
mean(df[Price])
mean
NameError
mean
df[Price].mean()
Pandas
from statistics import mean
mean
max
min