簡體   English   中英

如何將具有不同嵌套列表和嵌套數組的凌亂 Python 字典轉換為 Pandas 數據框?

[英]How do I convert a messy Python dictionary with different nested lists and a nested array into a Pandas dataframe?

您將如何將此字典轉換為數據框?

{'explanation': [{'name': 'NEIGHBORHOOD', 'value': 0.8458093122688197, 'error': 0.019018133634142273, 'feature_importance_per_iter': array([0.82261371, 0.82421628, 0.82483938, 0.83453245, 0.85977285,
       0.87912545, 0.8604959 , 0.84751409, 0.86720277, 0.83778024])}, {'name': 'YEAR', 'value': 0.4042242754940218, 'error': 0.015184773555021066, 'feature_importance_per_iter': array([0.39363194, 0.38509538, 0.39644517, 0.40923787, 0.41178442,
       0.37712897, 0.41998388, 0.40882951, 0.41056489, 0.42954073])}, {'name': 'LAND_SQFT', 'value': 0.13715830693229863, 'error': 0.008258893257281987, 'feature_importance_per_iter': array([0.13647464, 0.13960304, 0.14262865, 0.12864457, 0.14139102,
       0.15394684, 0.1435602 , 0.12734839, 0.13019752, 0.1277882 ])}, {'name': 'GROSS_SQFT', 'value': 0.11715647153867334, 'error': 0.00967317296447729, 'feature_importance_per_iter': array([0.11283082, 0.11049069, 0.1116555 , 0.10988616, 0.11597264,
       0.12351849, 0.10976599, 0.12771447, 0.14007404, 0.1096559 ])}, {'name': 'BLOCK', 'value': 0.1136614418126527, 'error': 0.008338972515966655, 'feature_importance_per_iter': array([0.10882301, 0.10517048, 0.10647254, 0.10115866, 0.12008553,
       0.11851731, 0.11532969, 0.11737344, 0.13123944, 0.11244431])}], 'runtime': 9.364779472351074, 'runtime_per_iter': [1.8957061767578125, 1.6298415660858154, 1.9324970245361328, 1.8747732639312744, 1.5690438747406006, 1.6631865501403809, 1.4750123023986816, 1.3634819984436035, 1.3420896530151367, 1.4080159664154053]}

我不關心feature_importance_per_iter鍵及其元素,也不關心字典末尾的runtime鍵及其元素,並且可以刪除它們。 我只想要一個以namevalueerror作為列的字典。

這是解決方案:

data = explanation.to_dict()
data = data['explanation']
my_list = []
for i in data:
    del i['feature_importance_per_iter']
    my_list.append(i)
df = pd.DataFrame(my_list)
df

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM