如何将DataFrame中字符串格式的数值列转换为整数列表?
解决方法
你的问题出在tags['tag'].to_list()的用法上——这个方法是把整个tag列的所有单元格值转换成一个Python列表,而非将每个单元格内的空格分隔字符串拆分成整数列表。要实现目标,需要对每个单元格的字符串单独处理:
核心转换逻辑
对tag列的每个字符串执行两步操作:
- 用
split()按空格分割成字符串列表 - 将列表中的每个字符串元素转换为整数
完整代码
tags = data[['id','tag']] # 从原DataFrame取出需要的列 tags = tags.set_index('id') tags = tags.drop_duplicates() tags.dropna(inplace=True) # 关键转换代码:拆分字符串并转成整数列表 tags['tag'] = tags['tag'].apply(lambda x: [int(num) for num in x.split()])
验证效果
执行后打印tags.head(),tag列的每个单元格都会变成你需要的整数列表格式,比如[2684894, 1910311, 4000006, 1910385, 760853, 2982563]。
注:如果单元格内有多个连续空格,
split()默认会自动处理,无需额外指定分隔符。
内容的提问来源于stack exchange,提问作者salamander
相关产品推荐
相关产品推荐

