如果您在columns 上使用orient,它与您想要的非常接近,但包含索引:
df.to_json(orient="columns")
# '{"A":{"0":10},"B":{"0":20},"C":{"0":30}}'
给你{column -> {index -> value}}
以下是您的 DataFrame 的所有输出:
split {"columns":["A","B","C"],"index":[0],"data":[[10,20,30]]}
records [{"A":10,"B":20,"C":30}]
index {"0":{"A":10,"B":20,"C":30}}
columns {"A":{"0":10},"B":{"0":20},"C":{"0":30}}
values [[10,20,30]]
table {"schema":{"fields":[{"name":"index","type":"integer"},{"name":"A","type":"integer"},{"name":"B","type":"integer"},{"name":"C","type":"integer"}],"primaryKey":["index"],"pandas_version":"0.20.0"},"data":[{"index":0,"A":10,"B":20,"C":30}]}
使用to_dict 定位为list:
repr(df.to_dict(orient="list"))
# "{'A': [10], 'B': [20], 'C': [30]}"
这是reprs 的其余部分to_dict:
dict {'A': {0: 10}, 'B': {0: 20}, 'C': {0: 30}}
list {'A': [10], 'B': [20], 'C': [30]}
series {'A': 0 10
Name: A, dtype: int64, 'B': 0 20
Name: B, dtype: int64, 'C': 0 30
Name: C, dtype: int64}
split {'index': [0], 'columns': ['A', 'B', 'C'], 'data': [[10, 20, 30]]}
records [{'A': 10, 'B': 20, 'C': 30}]
index {0: {'A': 10, 'B': 20, 'C': 30}}