查看原文
其他

bidict库 | Python双向映射功能,让字典更好用

大邓 大邓和他的Python
2024-09-09


字典是一种键值对key-value pair数据结构, 用key查询到对应的值value, 但不能用value查到对应的key。但有时我们面对的分析任务,需要用value查到对应的key, bidict可以帮我们实现这一特性。


一、安装

pip install bidict

二、快速开始

2.1 基本操作

from bidict import bidict

test_data = bidict({
   '华为''Huawei',
   '比亚迪''BYD',
   '吉利''Geely',
   '微软''Microsoft',
   '苹果''Apple'
})

print(test_data['华为'])
print(test_data.inverse['Microsoft'])

Run

Huawei
微软

2.2 get方法

跟Python字典类似,如果字典中没有对应的key,直接查询会出现KeyError错误。

test_data['三星']

Run

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[5], line 1
----> 1 test_data['三星']

File /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/bidict/_base.py:523, in BidictBase.__getitem__(self, key)
    521 def __getitem__(self, key: KT) -> VT:
    522     """*x.__getitem__(key) ⟺ x[key]*"""
--> 523     return self._fwdm[key]

KeyError: '三星'


使用get方法则可避免错误发生。

test_data.get('三星''missing')

Run

missing

2.3 update方法

update方法可以用来

  • 更改key的value
  • 新增key-value-pair
#更新值
test_data.update(华为='HUAWEI')

#新增key-value-pair
test_data.update(三星='Samsung')


print(test_data['华为'])
print(test_data['三星'])

Run

HUAWEI
Samsung

2.4 pop方法

test_data.pop('三星')

Run

'Samsung'

此时再查看会发现test_data已经没有了三星相关的键值对

test_data

Run

bidict({'华为''HUAWEI'
'比亚迪''BYD'
'吉利''Geely'
'微软''Microsoft'
'苹果''Apple'})


精选内容

93G数据集 | 中国裁判文书网(2010-2021)

96G数据集 | 2亿条中国大陆企业工商注册信息

数据集 | 3571万条专利申请数据集(1985-2022年)

预训练模型 | 使用1000w专利摘要训练word2vec模型,可用于开发词典

使用中文MD&A数据集训练word2vec预训练模型, 可扩展或新建会计金融等领域的情感词典

预训练模型 | 使用1000w专利摘要训练word2vec模型,可用于开发词典

词向量 | 使用1亿B站用户签名训练word2vec词向量

数据集 | 2001-2022年A股上市公司年报&管理层讨论与分析

CAR2023 | 文本分析在会计中的应用

MS | 使用网络算法识别创新的颠覆性与否

管理世界 | 使用文本分析词构建并测量 短视主义

管理世界 | 使用 经营讨论与分析 测量 企业数字化指标

管理世界 | 用正则表达式、文本向量化、线性回归算法从md&a数据中计算 「企业融资约束指标

中国管理科学 | 使用业绩说明会文本数据测量上市公司前瞻性信息

管理科学学报 | 使用LDA算法计算政策扩散速度与扩散程度

心理科学进展 | 语义距离与创造性思维关系的元分析

JMR | 测量消费者的「语言确定性

金融研究 | 使用Python构建「关键审计事项信息含量」

案例代码 | 使用正则表达式判别微博用户mbti类型

可视化 | 99-21年地方政府报告关键词变化趋势

使用 Word2Vec 和 TF-IDF 计算五类企业文化

数据集 | 2006年-2022年企业社会责任报告

数据集 | 2001-2022年A股上市公司年报&管理层讨论与分析

数据集 | 07-21年上市公司「委托贷款公告」

数据集 | 200w政府采购合同公告明细数据(1996.6-2022.12)

数据集 | 84w条业绩说明会问答数据(2005-2023)

单个csv文件体积大于电脑内存,怎么办?

csv转xslx 可节约存储空间

继续滑动看下一个
大邓和他的Python
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存