DataFrame:两列数据生成字典

两种方法:set_index+to_dict() ; 字典生成式

import numpy as np
import pandas as pd
num = np.random.randint(60,101,6)
data = {
    '省份':['省1','省2','省3','省4','省5','省6'],
    'num':num
}
df = pd.DataFrame(data = data)
df 
省份num
0省198
1省283
2省391
3省484
4省574
5省6100

方法一:通过set_index提取相应数据转化为字典

# 通过set_index提取相应数据转化为字典
dict1 = df.set_index('省份')['num'].to_dict()
dict1
{'省1': 98, '省2': 83, '省3': 91, '省4': 84, '省5': 74, '省6': 100}

方法二:字典生成表达式

# 字典生成表达式
dict2 = {row.省份 : row.num for row in df.itertuples()}
dict2
{'省1': 98, '省2': 83, '省3': 91, '省4': 84, '省5': 74, '省6': 100}

2023年11月15日更新,感谢@看见北极星 的评论
方法一下述方式也是可以实现的,结果相同

temp.set_index('省份').to_dict()['num']
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值