我注意到使用
to_dict()
dash-table
通过它
data
属性,它根据静态HTML布局中指定的预定义列名填充数据表(列标题不需要动态更新,因为它们的顺序不依赖于任何回调)。以以下示例数据帧为例:
import pandas as pd
df = pd.DataFrame({'Distance (ft)': [1, 2, 3, 4, 5],
'City': ['Seattle','Portland','Spokane','Everett','Tacoma'],
'Temp (F)': [10, 20, 30, 40, 50]})
Distance (ft) City Temp (F)
0 1 Seattle 10
1 2 Portland 20
2 3 Spokane 30
3 4 Everett 40
4 5 Tacoma 50
当我尝试使用转换此数据帧时
df.to_dict()
默认的
orient='dict'
,我返回我所期望的:
{'Distance (ft)': {0: 1, 1: 2, 2: 3, 3: 4, 4: 5}, 'City': {0: 'Seattle', 1: 'Portland', 2: 'Spokane', 3: 'Everett', 4: 'Tacoma'}, 'Temp (F)': {0: 10, 1: 20, 2: 30, 3: 40, 4: 50}}
orient
例如:
df.to_dict('records')
df.to_dict('rows')
[{'_0': 1, 'City': 'Seattle', '_2': 10}, {'_0': 2, 'City': 'Portland', '_2': 20}, {'_0': 3, 'City': 'Spokane', '_2': 30}, {'_0': 4, 'City': 'Everett', '_2': 40}, {'_0': 5, 'City': 'Tacoma', '_2': 50}]
是否可以在不必执行所需列名和输出字典键之间的中间映射的情况下返回以下内容?
[{'Distance (ft)': 1, 'City': 'Seattle', 'Temp (F)': 10}, {'Distance (ft)': 2, 'City': 'Portland', 'Temp (F)': 20}, {'Distance (ft)': 3, 'City': 'Spokane', 'Temp (F)': 30}, {'Distance (ft)': 4, 'City': 'Everett', 'Temp (F)': 40}, {'Distance (ft)': 5, 'City': 'Tacoma', 'Temp (F)': 50}]