【问题标题】:Converting dictionary with tuple as key and values as array to a pandas dataframe将元组作为键和值作为数组的字典转换为熊猫数据框
【发布时间】:2021-11-19 11:14:56
【问题描述】:

我有以下字典:

dict = {(0, 6): 数组([[1, 2, 3, 0, 1 ,1]]), (0, 9): 数组([[1, 2, 3, 0, 1, 1]])}

我想将其转换为如下所示的 pandas 数据框:

Key v1 v2 v3 v4 v5 v6
(0,6) 1 2 3 0 1 1
(0,9) 1 2 3 0 1 1

我不希望键成为索引。

感谢您的帮助。

【问题讨论】:

    标签: arrays pandas dataframe dictionary tuples


    【解决方案1】:

    用途:

    d =  {(0, 6): np.array([[1, 2, 3, 0, 1 ,1]]), 
          (0, 9): np.array([[1, 2, 3, 0, 1, 1]])}
    
    
    df = pd.DataFrame.from_dict({k: v[0] for k, v in d.items()}, orient='index')
    df = df.rename_axis('Key').rename(columns=lambda x: f'v{x+1}').reset_index()
    print (df)
          Key  v1  v2  v3  v4  v5  v6
    0  (0, 6)   1   2   3   0   1   1
    1  (0, 9)   1   2   3   0   1   1
    

    或者:

    df = pd.DataFrame(np.vstack(list(d.values()))).rename(columns=lambda x: f'v{x+1}')
    df.insert(0,'Key',list(d.keys()))
    print (df)
          Key  v1  v2  v3  v4  v5  v6
    0  (0, 6)   1   2   3   0   1   1
    1  (0, 9)   1   2   3   0   1   1
    

    【讨论】:

    • 感谢 Jezrael 这回答了我的问题
    猜你喜欢
    • 1970-01-01
    • 2017-11-22
    • 2021-06-18
    • 1970-01-01
    • 2018-07-14
    • 2019-05-07
    • 2019-07-18
    • 2019-03-28
    相关资源
    最近更新 更多