Я не знаю, действительно ли вам нужно то, что вы публикуете в качестве желаемого результата.Решение, которое я даю вам, «грязное» (больше элементов и столбец TAG помещается первым). Вы можете очистить его и поместить в нужный вам формат.Поскольку вы не предоставили кусок кода для начала, вы можете закончить его.В конце концов вы обнаружите, что цель stackoverflow - не заставить людей писать код для вас, а чтобы люди помогли вам с кодом, который вы пытаетесь.
import json
import pandas as pd
#open and reading of the json:
with open('netgear.json','r') as jfile:
data = jfile.read()
info = json.loads(data)
#json into content
words,tags = info['Text'].split(),info['Entities']
#list to handle the Entities
prelist = []
for i in tags:
j = list(i.values())
#['ORGANIZATION ', 'Netgear']
#['DEVICE ', 'Nighthawk AC1900']
prelist.append(j)
#DataFrames to be merged
dft = pd.DataFrame(prelist,columns=['TAG','WORD'])
dfw = pd.DataFrame(words,columns=['WORD'])
#combine the dataFrames and NaN into 0
df = dfw.merge(dft, on='WORD', how='outer').fillna(0)
Это вывод:
WORD TAG
0 I 0
1 I 0
2 currently 0
3 use 0
4 a 0
5 Netgear ORGANIZATION
6 Nighthawk 0
7 AC1900. 0
8 find 0
9 it 0
10 reliable. 0
11 Nighthawk AC1900 DEVICE