使用pandas两列转换成字典的健和值
时间:2022-12-30 11:43:53|栏目:Python代码|点击: 次
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