我创建了一个数据框架,如下所示,其中包含JSON格式的国家:
df = pd.DataFrame([['matt', '''[{"c_id": "cn", "c_name": "China"}, {"c_id": "au", "c_name": "Australia"}]'''],
['david', '''[{"c_id": "jp", "c_name": "Japan"}, {"c_id": "cn", "c_name": "China"},{"c_id": "au", "c_name": "Australia"}]'''],
['john', '''[{"c_id": "br", "c_name": "Brazil"}, {"c_id": "ag", "c_name": "Argentina"}]''']],
columns =['person','countries'])
我希望输出如下,仅包含国家名称,用逗号分隔,并按字母顺序排序:
result = pd.DataFrame([['matt', 'Australia, China'],
['david', 'Australia, China, Japan'],
['john', 'Argentina, Brazil']],
columns =['person','countries'])
我尝试了几种方法,但都没有成功。我希望下面的代码能够适当地拆分JSON格式,但没有成功——也许是因为JSON在数据帧中是字符串格式的
result = pd.io.json.json_normalize(df, 'c_name')
一种解决方案是使用
ast.literal_eval
将字符串视为字典列表:相关问题 更多 >
编程相关推荐