好的,这是我的第一个Python Pandas程序,我很难弄清楚列名是什么,以便在函数调用中引用它。
以下是我的代码。parseDeviceType正在调用一个函数来解析useragentstring。但是当我使用我认为的列名进行调用时,我会收到未定义名称的错误:
df = pd.read_csv('user_agent_strings.txt',index_col=None, na_values=['NA'],sep=',')
dt=parseDeviceType(user_agent_string)
print df.columns
NameError: name 'user_agent_string' is not defined
Index([u'user_agent_string'], dtype='object')
以下是包含用户代理字符串的输入文件的标题和第一行数据:
"user_agent_string"
"Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53"
您能帮我理解如何在dt=parseDeviceType(user_agent_string)
调用中引用列名吗?如果在函数调用中可以通过列号引用它,我也想知道如何引用。
谢谢
user_agent_string
应该是一个字符串吗?例如:dt=parseDeviceType('user_agent_string')
。 - 101parseDeviceType
的代码,我猜测您正在尝试传递一个变量名而不是从 df 中选择列的字符串。您是否尝试过像 figs 建议的那样,在user_agent_string
周围加上引号? - EdChum