Pandas DataFrame拆分后生成列表,如何将列表类型列转为字符串?
解决Pandas拆分后列值为列表转字符串的问题
这事儿我之前也碰到过,str.split()方法默认返回的就是列表,所以你新生成的ttt列自然是列表类型啦。给你两种简单靠谱的解决办法:
方法一:直接提取列表的第一个元素
既然你的需求是移除- undefined后缀,拆分后列表的第一个元素就是你想要的内容,直接用.str[0]提取就行:
test['ttt'] = test['Cover Design'].str.split(' - undefined').str[0]
哪怕有些行原本就没有- undefined后缀,拆分后会生成只有一个元素的列表,str[0]也能正常取到原内容,完全不影响结果。
方法二:用str.replace直接移除后缀(更推荐)
其实你根本不需要拆分操作,直接把目标后缀替换成空字符串更高效,还能从根源避免生成列表的问题:
test['ttt'] = test['Cover Design'].str.replace(' - undefined', '')
这个方法逻辑更直观,处理速度也更快,尤其当你的DataFrame数据量比较大的时候,优势会更明显。
举个实际效果的例子:
- 如果原
Cover Design列的值是"Fantasy Art - undefined",两种方法都会得到"Fantasy Art" - 如果原列值是
"Minimalist Design",两种方法都会完整保留原字符串不变
内容的提问来源于stack exchange,提问作者Vijayaraghavan
相关产品推荐
相关产品推荐

