将元组为键、数组为值的字典转换为非键索引的pandas DataFrame
实现方案
完整代码
import pandas as pd import numpy as np # 原始字典(注意不要使用dict作为变量名,避免覆盖内置关键字) data_dict = {(0, 6): np.array([[1, 2, 3, 0, 1 ,1]]), (0, 9): np.array([[1, 2, 3, 0, 1, 1]])} # 遍历字典构造行数据 row_list = [] for tuple_key, value_arr in data_dict.items(): # 将二维数组展平,和元组键组合为单条记录 current_row = [tuple_key] + value_arr.flatten().tolist() row_list.append(current_row) # 生成DataFrame,自定义列名,默认使用0开始的序列作为索引 df = pd.DataFrame(row_list, columns=['Key', 'v1', 'v2', 'v3', 'v4', 'v5', 'v6'])
结果说明
最终生成的df结构如下:
- 第一列为
Key,存储原字典的元组键 - 后续
v1到v6列依次对应数组内的6个数值 - 索引为默认的0、1序列,不会使用原字典的键作为索引
注意事项:不要直接用
dict作为变量名,它是Python的内置类型关键字,重名会导致后续调用字典相关功能时报错。
内容的提问来源于stack exchange,提问作者johnadem
相关产品推荐
相关产品推荐

