从另一个词典中的嵌套词典中提取信息

2024-04-23 09:48:37 发布

您现在位置:Python中文网/ 问答频道 /正文

数据集包含25列500行,其中一列是包含嵌套字典的“orderItems”,所有“orderItems”键包含1-15个字典。随机抽取一行,例如:

dataset.orderItems[691581]

结果:

[{'product': 10152, 'price': 78.76, 'quantity': 1.0},
 {'product': 3584, 'price': 20.9, 'quantity': 1.0},
 {'product': 20308, 'price': 9.9, 'quantity': 1.0},
 {'product': 7619, 'price': 13.9, 'quantity': 1.0},
 {'product': 3795, 'price': 15.9, 'quantity': 1.0},
 {'product': 6504, 'price': 18.9, 'quantity': 2.0},
 {'product': 13720, 'price': 75.9, 'quantity': 1.0},
 {'product': 18419, 'price': 31.9, 'quantity': 1.0}]

想要创建3列:“产品”、“价格”和“数量”,这样它就可以容纳这些列中所有词典的所有信息。上面的示例是从“orderItems”的单个值中提取的8行。从中提取的价格、产品和数量信息数据集.orderItems[691581]“在这三列中,每一列都有自己的一列。记住,有些键有一个字典,有些键有15个(máx)

有人能帮我吗?你知道吗


Tags: 数据信息示例数量字典产品价格product
2条回答

这返回了一个您的行号列表。您可以这样处理:

for dict_current in dataset.orderItems[691581]:
    i_prod_num = dict_current["product"]
    i_price = dict_current["price"]
    fl_quantity = dict_current["quantity"]

接下来要做什么取决于要对这些值做什么。你知道吗

请尝试以下操作:

list_df = []
for i, row in enumerate(df.values):
   df_values = df.loc[i,"orderitems"]
   for i, row in enumerate(df_values): 
        list_df.append(pd.DataFrame([row]))
 df_values_final=pd.concat(list_df)

相关问题 更多 >