pandas两列转换成字典的健和值
两列转换成字典的key和value
df:
name | age |
---|---|
Mary | 26 |
Sellina | 28 |
Zaca | 27 |
想将name这列变成字典的健,年龄对应成字典的值,健值对应如下:
1
|
{‘Mary ':26,‘Sellina' : 28 ,‘Zaca': 27 } |
1
2
3
4
5
6
7
|
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代码实现转换成字典:
1
2
|
df1 = df.set_index([ 'name' ])[ 'age' ].to_dict() print (df1) |
结果如下:
{'Mary': 26, 'Sellina': 28, 'Zaca': 27}
列名变成字典的key
1
|
df2 = df.to_dict(orient = 'list' ) |
结果如下:
{'name': ['Mary', 'Sellina', 'Zaca'], 'age': [26, 28, 27]}
pandas两列的值转dict
1、把dataframe中的某两列变成一个key-value形式的dict
代码如下:
1
2
3
4
5
6
7
8
|
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的情况
1
|
dc = df.groupby( 'mykey' )[ 'mydata' ]. apply ( list ).to_dict() # 对于同一个key对应多个value,则把同一key的value构成一个list |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/mao15827639402/article/details/107832903