有人能解释一下为什么下面的代码会产生NameError
?在
def nonull(df, col, name):
name = df[pd.notnull(df[col])]
print name[col].count(), df[col].count()
return name
nonull(sve, 'DOC_mg/L', 'sveDOC')
sveDOC.count()
NameError: name 'sveDOC' is not defined
711 711
dataframe
似乎是在print
语句工作的情况下创建的,所以我不明白为什么当我尝试使用sveDOC
(在函数中是name
)时,它会产生错误。在
下面是我希望在函数中执行的操作的示例:
^{pr2}$
Python名称的工作方式不像您想象的那样。以下是您的代码实际执行的操作:
该函数从未实际使用
^{pr2}$'sveDOC'
参数。以下是您实际应该做的:你对Python使用名称和引用的看法是完全错误的。在
为了证明这一点:
如果要创建
DataFrame
的副本,请显式执行以下操作:您可以在}内部执行。在
nonull
外部执行此操作并传递副本,也可以在nonull
和{相关问题 更多 >
编程相关推荐