如何将嵌套列表转换为DataFrame单列而不拆分为多列
嵌套列表存入DataFrame单列的实现方法
你之前得到多列结果的原因是:直接将嵌套列表传入pd.DataFrame()时,pandas会默认把每个子列表的元素对应为一行的不同列,因此会拆分生成多列。
要实现将每个子列表作为单个值存入单列,可按以下两种场景操作:
场景1:需要text列为子列表元素拼接成的'a','b','c'格式字符串
代码示例:
import pandas as pd mylist = [['I','have','an','apple'],['she','have','an','orange']] # 先把每个子列表拼接为指定格式的字符串 processed_data = [','.join(f"'{item}'" for item in sub_list) for sub_list in mylist] # 生成DataFrame并指定列名 df = pd.DataFrame(processed_data, columns=['text'])
输出结果和要求完全一致:
text 0 'I','have','an','apple' 1 'she','have','an','orange'
场景2:需要text列直接存储完整子列表作为元素
如果不需要转成字符串,要保留列表类型的元素,可将每个子列表再套一层列表,让pandas识别为单个元素:
import pandas as pd mylist = [['I','have','an','apple'],['she','have','an','orange']] processed_data = [[sub_list] for sub_list in mylist] df = pd.DataFrame(processed_data, columns=['text'])
内容的提问来源于stack exchange,提问作者YKILYCHAN
相关产品推荐
相关产品推荐

