如何拆分DataFrame列字符串值?Python循环实践问题
问题解决:拆分DataFrame列转换后的列表元素
你的代码无法得到期望结果的核心原因是:循环中处理的value是列表元素的临时副本,修改或拆分后的结果没有更新到原列表,也没有存入新列表,因此原列表lsti完全没变化。
下面是几种可行的修正方案:
方法1:生成拆分后的扁平列表
lsti = df.Industries.tolist() new_lsti = [] for value in lsti: # 转为字符串后按', '拆分(包含空格避免元素前残留空白) words = str(value).split(', ') # 将拆分出的所有元素添加到新列表 new_lsti.extend(words) print(new_lsti)
方法2:用列表推导式简化代码
如果想让代码更简洁,可以用嵌套列表推导式一步完成:
lsti = df.Industries.tolist() new_lsti = [word for value in lsti for word in str(value).split(', ')] print(new_lsti)
补充:保留原列表的嵌套结构
如果需要保留原列表的层级(每个原字符串拆分后作为子列表),可以这样写:
lsti = df.Industries.tolist() new_lsti = [str(value).split(', ') for value in lsti] print(new_lsti) # 输出示例:[['Artificial Intelligence', 'Cloud Security', 'Cyber Security', 'Risk Management'], ...]
内容的提问来源于stack exchange,提问作者Mcard95
相关产品推荐
相关产品推荐

