脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - 使用pandas两列转换成字典的健和值

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

2022-12-29 12:11向日葵 Python

这篇文章主要介绍了使用pandas两列转换成字典的健和值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

延伸 · 阅读

精彩推荐