Pandas调用hex()转LAC列报'Series'无法解释为整数错误如何解决
问题解答
报错原因
hex() 是Python内置函数,仅支持传入单个整数类型参数,你代码中传入的df['LAC']是pandas的Series对象(整列数据集合),无法被hex()识别为整数参数,因此触发类型错误。
修复方案
使用apply()对LAC列的每一个元素单独执行十六进制转换即可,修改后的完整代码如下:
import pandas as pd datos=pd.read_csv('/Users/rafaelsuarez/Documents/Data/UCELL.csv', sep=',' , encoding='latin-1') df=pd.DataFrame(datos) df['RNC']=df['RNC'].map('RNC_{}'.format) # 逐行转换LAC为十六进制,结果存入新列 # 如需去掉十六进制前缀0x,可改为 lambda x: hex(x)[2:] df['LAC_HEX'] = df['LAC'].apply(lambda x: hex(x))
转换效果说明
你提供的示例数据中LAC值为119,执行转换后得到的十六进制结果为0x77,去掉前缀后为77。
内容的提问来源于stack exchange,提问作者Rafael Suarez
相关产品推荐
相关产品推荐

