python - 如何使用“列”方向将 Pandas 数据框中的索引隐藏到 JSON 函数 DataFrame.to_json()
问题描述
例如。我的结果以这种格式返回
"name": {
"1": "bill",
"2": "mike",
"3": "dave"
},
"age": {
"1": 20,
"2": 21,
"3": 40
},
但我更喜欢以下格式
"name": [
"bill",
"mike",
"dave"
],
"age": [
20,
21,
40
],
解决方案
Pandas 函数DataFrame.to_dict()
有一个选项orient='list'
可以输出你想要的布局。
唯一的区别是它输出带有单引号的 dict 而不是带有双引号的 JSON。您可以进一步将 dict 转换为 JSON,例如如下:
class dict2JSON(dict):
def __str__(self):
return json.dumps(self)
def __repr__(self):
return json.dumps(self)
result = dict2JSON(df.to_dict(orient='list'))
演示
data = {'name': {1: 'bill', 2: 'mike', 3: 'dave'}, 'age': {1: 20, 2: 21, 3: 40}}
df = pd.DataFrame(data)
print(df.to_json(orient='columns'))
# Old Output
{"name":{"1":"bill","2":"mike","3":"dave"},"age":{"1":20,"2":21,"3":40}}
# Run new codes:
class dict2JSON(dict):
def __str__(self):
return json.dumps(self)
def __repr__(self):
return json.dumps(self)
result = dict2JSON(df.to_dict(orient='list'))
print(result)
# New Output
{"name": ["bill", "mike", "dave"], "age": [20, 21, 40]}
推荐阅读
- java - 提取 map(...) 调用中的代码
- scala - akka 流物化值使用不同的选项
- google-cloud-platform - 有没有办法不仅可以在 GCP 中打开 windows 实例,还可以登录到特定的用户帐户?
- php - 在PHP中查询一个大的MySql表效率?
- azure-devops - 在 Azure Devops Boards 中更改板列时如何创建自定义规则?
- python - 在 python 中使用系统范围的热键运行函数
- cors - CORS - 如何启用一系列端口(.Net Core 3.1)
- python - Python文件夹创建和读取文本文件
- spring - 如何使用依赖于 Spring Security 的其他 bean 的过滤器配置 WebSecurityContext?
- nginx - 如何在 nginx 中将动态子域重写为路径 URI?