从dataframe中的列中提取唯一的json键
我有一个熊猫数据框架,下面的列是json格式的。我需要从中的所有行中获取唯一的json键 下面是数据帧。不确定pandas是否有任何内置功能来执行此操作从dataframe中的列中提取唯一的json键,json,pandas,Json,Pandas,我有一个熊猫数据框架,下面的列是json格式的。我需要从中的所有行中获取唯一的json键 下面是数据帧。不确定pandas是否有任何内置功能来执行此操作 Col3 {"a": 2000, "b": 1} {'c': 'Go bug go','d': 'go_line21','e': 'movie','duration': 2166} 如果使用实际代码,这个问题会更好。给定的列不是json格式,因为它同时包含双引号(正确)和单引号(非json格式)元素 还不清楚这些列是存储为dict还是
Col3
{"a": 2000, "b": 1}
{'c': 'Go bug go','d': 'go_line21','e': 'movie','duration': 2166}
如果使用实际代码,这个问题会更好。给定的列不是json格式,因为它同时包含双引号(正确)和单引号(非json格式)元素 还不清楚这些列是存储为dict还是字符串 这就是说,根据和,如果列实际上是json格式的,那么下面是如何得到答案的:使用json.loads,然后获取列名
import json
import pandas as pd
from pandas.io.json import json_normalize
df = pd.DataFrame({'Col3' :
['{"a": 2000, "b": 1}',
'{"c": "Go bug go", "d": "go_line21", "e": "movie", "duration": 2166}']})
json_normalize(df['Col3'].apply(json.loads)).columns.to_list()
如果您必须纠正错误的引用,那么您需要遵循。这个问题最好使用实际代码。给定的列不是json格式,因为它同时包含双引号(正确)和单引号(非json格式)元素 还不清楚这些列是存储为dict还是字符串 这就是说,根据和,如果列实际上是json格式的,那么下面是如何得到答案的:使用json.loads,然后获取列名
import json
import pandas as pd
from pandas.io.json import json_normalize
df = pd.DataFrame({'Col3' :
['{"a": 2000, "b": 1}',
'{"c": "Go bug go", "d": "go_line21", "e": "movie", "duration": 2166}']})
json_normalize(df['Col3'].apply(json.loads)).columns.to_list()
如果必须纠正不正确的报价,则需要遵循。您可以从中创建一个新的数据框,并将关键点作为列表抓取:
list(pd.DataFrame(df['Col3'].to_list()).columns)
输出:
# ['a', 'b', 'c', 'd', 'e', 'duration']
您可以从中创建一个新的数据帧,并将键作为列表抓取:
list(pd.DataFrame(df['Col3'].to_list()).columns)
输出:
# ['a', 'b', 'c', 'd', 'e', 'duration']