如何移除DataFrame列中列表的外层方括号?
移除Pandas DataFrame列表列的外层括号方案
问题描述
现有Pandas DataFrame,某一列存储列表格式的取值,需要移除列表外层方括号,直接提取列表内部的内容。输入输出效果如下:

解决方案
根据列的存储类型不同,分为两种处理方式:
- 情况1:列内元素为真实列表类型
直接用str访问器提取列表首个元素即可:
如果列表包含多个元素,需要把每个元素拆分为单独行,可使用# 替换df为你的DataFrame变量名,col为存储列表的列名 df['col'] = df['col'].str[0]explode方法:df = df.explode('col', ignore_index=True) - 情况2:列内元素为字符串类型(仅格式和列表一致,实际是
"[xxx]"格式的字符串)
需要先把字符串转换为真实列表,再提取内部元素:import ast # 字符串转列表 df['col'] = df['col'].apply(ast.literal_eval) # 提取列表首个元素 df['col'] = df['col'].str[0]
内容的提问来源于stack exchange,提问作者user17475933
相关产品推荐
相关产品推荐

