如何用Python将含text与spans的字典列表转为Pandas DataFrame
实现方法
直接遍历原始列表中的每个字典,将text字段与每个span字典合并,收集所有合并后的字典后再转换为DataFrame即可。
代码示例
import pandas as pd # 原始数据 data = [ {'text': 'convert json 1 to dataframe', 'spans': [ {'start': 0, 'end': 8, 'label': 'person', 'value': 'person1'}, {'start': 46, 'end': 56, 'label': 'dob', 'value': 'bday'}, {'start': 61, 'end': 71, 'label': 'location', 'value': 'US1'} ]}, {'text': 'convert json 2 to dataframe', 'spans': [ {'start': 0, 'end': 8, 'label': 'person', 'value': 'person2'}, {'start': 10, 'end': 18, 'label': 'person', 'value': 'person3'}, {'start': 61, 'end': 71, 'label': 'location', 'value': 'US2'} ]} ] # 收集整理后的数据 processed_data = [] for item in data: text = item['text'] for span in item['spans']: # 合并text和span的信息 processed_item = {'text': text, **span} processed_data.append(processed_item) # 转换为DataFrame df = pd.DataFrame(processed_data) print(df)
输出结果
生成的DataFrame结构如下:
text start end label value 0 convert json 1 to dataframe 0 8 person person1 1 convert json 1 to dataframe 46 56 dob bday 2 convert json 1 to dataframe 61 71 location US1 3 convert json 2 to dataframe 0 8 person person2 4 convert json 2 to dataframe 10 18 person person3 5 convert json 2 to dataframe 61 71 location US2
内容的提问来源于stack exchange,提问作者MAC
相关产品推荐
相关产品推荐

