如何移除Pandas DataFrame中字段值的方括号?
移除Pandas DataFrame中
changes列的方括号 嗨,我来帮你解决这个移除changes列方括号的问题~根据你给出的DataFrame输出,changes列的内容混合了带方括号的字符串、普通文本和可能的列表对象,我分两种常见情况给你解决方案:
情况1:方括号是字符串的一部分
如果你的changes列里的方括号只是字符串的首尾字符(比如值是"['Body Weight', 'Color']"这种字符串),可以用以下两种方法处理:
- 方法一:用
str.strip()精准移除首尾的方括号
df['changes'] = df['changes'].str.strip('[]')
- 方法二:用正则表达式替换所有方括号(适合中间也存在方括号的场景,你的数据里大概率不需要,但可以备用)
df['changes'] = df['changes'].str.replace(r'[\[\]]', '', regex=True)
情况2:值是实际的Python列表对象
如果那些带方括号的内容是真正的列表(比如['Body Weight', 'Color']是Python列表类型),需要把列表转换成逗号分隔的字符串,同时去掉方括号:
df['changes'] = df['changes'].apply( lambda x: ', '.join(x) if isinstance(x, list) else x )
可选:先确认元素类型
如果你不确定列里的元素是字符串还是列表,可以先运行这段代码查看:
print(df['changes'].apply(type).unique())
这样处理后,你的changes列就不会有方括号啦~
内容的提问来源于stack exchange,提问作者Ishan
相关产品推荐
相关产品推荐

