目录
  • pandas两列转换成字典的健和值
    • 两列转换成字典的key和value
    • 列名变成字典的key
  • pandas两列的值转dict

    pandas两列转换成字典的健和值

    两列转换成字典的key和value

    df:

    name age
    Mary 26
    Sellina 28
    Zaca 27

    想将name这列变成字典的健,年龄对应成字典的值,健值对应如下:

    {‘Mary':26,‘Sellina':28,‘Zaca':27}
    import pandas as pd
    import pandas as pd
    a = ['Mary','Sellina','Zaca']
    b = [26,28,27]
    data = {'name':a,'age':b}
    df = pd.DataFrame(data)
    print(df)

    结果如下:

          name  age
    0     Mary   26
    1  Sellina   28
    2     Zaca   27

    python代码实现转换成字典:

    df1 = df.set_index(['name'])['age'].to_dict()
    print(df1)

    结果如下:

    {'Mary': 26, 'Sellina': 28, 'Zaca': 27}

    列名变成字典的key

    df2 = df.to_dict(orient = 'list')

    结果如下:

    {'name': ['Mary', 'Sellina', 'Zaca'], 'age': [26, 28, 27]}

    pandas两列的值转dict

    1、把dataframe中的某两列变成一个key-value形式的dict

    代码如下:

    import pandas as pd 
    df = pd.DataFrame({'A': ['a', 'b', 'c'],
                       'B': [2, 7, 1],
                       'C': [100, 87, 96]})
     
    # 形成以A为key,B为value的dict
    dc = df.set_index("A")["B"].to_dict()
    print(dc)

    结果如下:

    {'a': 2, 'b': 7, 'c': 1}

    2、一个key对应多个value的情况

    dc = df.groupby('mykey')['mydata'].apply(list).to_dict()  # 对于同一个key对应多个value,则把同一key的value构成一个list

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。