抱歉,如果这是一个愚蠢的问题,但我试图弄清楚,但无法通过它
我有一个名为data of pandas dataframe的字典 数据['class\u size']包含以下数据
CSD SCHOOL CODE SCHOOL NAME
1 M015 P.S. 015 Roberto Clemente
1 M019 P.S. 019 Asher Levy
1 M019 P.S. 019 Asher Levy
. .... ..........
. .... ..........
and many more
我尝试使用以下lambda函数作为pandas.apply()参数,如果CSD列的长度为1,则用0填充它
data['class_size']['padded_csd'] = data["class_size"]["CSD"].apply(lambda x: str(x).zfill(2) if len(str(x)) == 1 else x )
它确实工作得很好,但是在使用了连接之后,即
data['class_size']['DBN'] = data['class_size']['padded_csd'] + data['class_size']['SCHOOL CODE']
我的打字错误是
unsupported operand type(s) for '+' 'int' and'str'
我甚至检查了“padded\u csd”和“SCHOOL CODE”两列的类型,它们都是字符串,那么为什么会出现类型错误呢?你知道吗
提前谢谢你的帮助
p.S.我知道我可以创建一个函数并使用它来代替lambda,它甚至可以工作,但由于某些原因,我真的必须使用lambda函数
试试看
相关问题 更多 >
编程相关推荐