美文网首页pythonPython待用Python已看
python: 字典、列表、表格相互转换

python: 字典、列表、表格相互转换

作者: 胡童远 | 来源:发表于2020-07-02 11:07 被阅读0次

    导读

    字典、列表、表格相互转换解决很多格式问题。

    字典<=>列表:
    list(Dict); list(Dict.values())
    dict(zip(list1, list2))
    列表<=>表格:
    pd.DataFrame(list)
    pd[col_name].tolist(); pd.loc[row_name].tolist()
    字典<=>表格:
    pd.DataFrame(Dict)
    table.to_dict()

    一、字典 <=> 列表

    • 字典 > 列表
    # 构造字典
    Dict = {'a' : 'value_a', 'b' : 'value_b', 'c' : 'value_c'}
    
    # 字典 => 列表
    list(Dict)
    > ['a', 'c', 'b']
    list(Dict.values())
    > ['value_a', 'value_c', 'value_b']
    
    • 字典 < 列表
    dict(zip(list(Dict), list(Dict.values())))
    {'a': 'value_a', 'c': 'value_c', 'b': 'value_b'}
    # 也能看出字典是无序的
    

    二、列表 <=> 表格

    • 列表 > 表格
    import pandas as pd
    x = ['a', 'c', 'b']
    y = ['value_a', 'value_c', 'value_b']
    pd.DataFrame(y, x)
    >         0
    >a  value_a
    >c  value_c
    >b  value_b
    
    # 或者
    z = []
    z.append(x)
    z.append(y)
    pd.DataFrame(z)
    >         0        1        2
    >0        a        c        b
    >1  value_a  value_c  value_b
    pd.DataFrame(z).T
    >   0        1
    >0  a  value_a
    >1  c  value_c
    >2  b  value_b
    
    • 列表 < 表格
    table = pd.DataFrame(z).T
    # 一列 > list
    table[0].tolist()
    > ['a', 'c', 'b']
    # 一行 > list
    table.loc[0].tolist()
    ['a', 'value_a']
    

    三、字典 <=> 表格

    • 字典 > 表格
    # 构造字典
    Dict = {'a' : [1,2,3,4], 'b' : [5,6,7,8], 'c' : [9,10,11,12]}
    # 字典 > 表格
    pd.DataFrame(Dict)
    >   a  b   c
    >0  1  5   9
    >1  2  6  10
    >2  3  7  11
    >3  4  8  12
    
    • 字典 < 表格
    table = pd.DataFrame(Dict)
    table.to_dict()
    {'c': {0: 9, 1: 10, 2: 11, 3: 12}, 'b': {0: 5, 1: 6, 2: 7, 3: 8}, 'a': {0: 1, 1: 2, 2: 3, 3: 4}}
    

    相关文章

      网友评论

        本文标题:python: 字典、列表、表格相互转换

        本文链接:https://www.haomeiwen.com/subject/uhjlqktx.html