python - 我正在实现机器学习线性回归算法我得到名称错误(NameError:名称'names'未定义)
问题描述
当我运行此代码时(在 python 3 中):
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize']=(20.0,10.0)
url="https://github.com/RupeshMohan/Linear_Regression/blob/master/headbrain.csv"
dataset=pd.read_csv(url,names=names)
print(dataset.shape)
dataset.head()
我得到:
NameError: name 'names' is not defined
解决方案
如果 Cpython 解释器无法识别已在 python 源代码中使用的对象名称,则会发生名称错误。在您给定的代码中,您在使用 read_csv 函数时在第 7 行使用过
dataset=pd.read_csv(url,names=names)
您使用了 names=names 但在您的代码中您还没有创建 'names' 数组。read_csv() 中的 names 属性是要使用的列名列表。所以你需要先创建一个列表,然后分配给属性名称。
推荐阅读
- http - Tomcat 应用程序 http 到 https 重定向在 URL 中显示 ROOT
- neo4j - 密码查询没有得到结果
- ruby-on-rails - 如何通过单击按钮更改变量的值?
- c++ - C ++ 17中的typeid有反函数吗?
- stm32 - STM32F446 HAL_UART_Receive_DMA 直接写入 GPIOA->ODR 不起作用
- scala - 在 Scala 中使用来自另一个没有数组列的 DataFrame 的数组类型列创建 Spark DataFrame 的有效方法是什么?
- visual-studio - 突出显示/选择单词并在其周围放置括号或“ VS2019
- wordpress - 如何使用 php 发送 Booster 插件模板电子邮件?
- angular - 如何防止 behaviorsubject next() 调用相互覆盖?
- javascript - NodeJS在写入后无法从telnet套接字接收数据