从每个键有多个值的字典中调用特定的字典值,Python

Posted

技术标签:

【中文标题】从每个键有多个值的字典中调用特定的字典值,Python【英文标题】:Calling specific dictionary values from a dictionary with multiple values per key, Python 【发布时间】:2021-08-19 14:35:03 【问题描述】:

我有一个包含 vendor_name、street_address、city、state、country、zip_code 列的 df。我已将其转换为字典:

vend_dict = vendor.to_dict

我有另一个包含 vendor_name 列的 df,但缺少所有地址信息。我想将字典映射到新的数据框 (df2) 以创建填充街道、城市、州等的附加列。

如何映射字典以将特定值填充到特定列中?

【问题讨论】:

【参考方案1】:

看起来您需要merge 数据框而不是您当前的方法。

例如,如果您有如下数据:

df1:

vendor_name | street_address | city | state | country | zip_code
------------+----------------+------+-------+---------+---------
vendor a    | ...            | ...  | ...   | ...     | ...
vendor b    | ...            | ...  | ...   | ...     | ...
vendor c    | ...            | ...  | ...   | ...     | ...

df2:

owner name | vendor name
-----------+------------
Bob        | vendor a
Sam        | vendor c

然后您可以执行以下操作:

df = df2.merge(df1, on="vendor_name", how="left")

这将产生:

df:

owner_name | vendor_name | street_address | city | state | country | zip_code
-----------+-------------+----------------+------+-------+---------+---------
Bob        | vendor a    | ...            | ...  | ...   | ...     | ...
Sam        | vendor c    | ...            | ...  | ...   | ...     | ...

【讨论】:

以上是关于从每个键有多个值的字典中调用特定的字典值,Python的主要内容,如果未能解决你的问题,请参考以下文章

从每个键具有多个值的字典中将数据写入 csv

多值字典?

当我只想获取字典中的特定值时,如何解码字典值的 JSON 数组?

django-QueryDict 对象

python 中关于字典的键

Python:从字典中获取具有最小值但有多个最小值的键