使用Lambda函数将DataFrame列表列转换为集合的报错问题
解决DataFrame列从列表转集合的NameError问题
- 错误根源:你代码里用了未定义的变量
s,而且lambda x: [x]是将元素转为列表,和你要转集合的目标不符。 - 正确代码示例:
假设你的DataFrame对象名为df,分两种情况处理:- 列中每个元素本身是列表,要转成对应集合:
# 将列表类型的列转为集合类型 df['Column2'] = df['Column2'].apply(lambda x: set(x)) - 列中是单个值,要把每个值包装成单元素集合:
df['Column2'] = df['Column2'].apply(lambda x: {x})
- 列中每个元素本身是列表,要转成对应集合:
- 关键说明:
apply方法需要作用在已定义的Series对象上,也就是你DataFrame里的目标列df['Column2'],不能用未定义的s。
内容的提问来源于stack exchange,提问作者Acard
相关产品推荐
相关产品推荐

