【问题标题】:Calling specific dictionary values from a dictionary with multiple values per key, Python从每个键有多个值的字典中调用特定的字典值,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) 以创建填充街道、城市、州等的附加列。
如何映射字典以将特定值填充到特定列中?
【问题讨论】:
标签:
python
pandas
dictionary
mapping
【解决方案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 | ... | ... | ... | ... | ...