如何将DataFrame列表列拼接后的字符串结果存储为新列
解决方案
方法1:使用pandas内置方法(推荐)
无需手动循环遍历,一行代码即可完成拼接并生成新列:
- 若
des列的列表元素均为字符串类型:
X['des_joined'] = X['des'].str.join(' ')
- 若列表中存在数字等非字符串元素,需先统一转成字符串再拼接,避免报错:
X['des_joined'] = X['des'].apply(lambda x: ' '.join(map(str, x)))
方法2:修改你现有代码的逻辑
你原来的代码仅将结果打印输出,只要调整为收集所有拼接结果再赋值给DataFrame新列即可:
def clean_text(): res_list = [] for i in range(len(X)): # 先转字符串再拼接,兼容数字类型元素 joined_str = " ".join(map(str, X['des'][i])) res_list.append(joined_str) return res_list X['des_joined'] = clean_text()
执行完上述代码后,DataFrame X 会新增名为des_joined的列,存储你需要的拼接字符串结果。
内容的提问来源于stack exchange,提问作者Shrikant Shejwal_IND
相关产品推荐
相关产品推荐

