如何将字典中的值添加为df的新列中的值,但按字典中键的值与现有行关联
import pandas as pd
data = {'caseno': ['123', '456', '789', '000'], 'defname': ['defendant1', 'defendant2', 'defendant3', 'defendant4']}
df = pd.DataFrame.from_dict(data)
def_dict = {'123': ['123address', '123address2', '123csz'], '456':['456address', '456address2', '456csz']}
caseno_lst = df['caseno'].tolist()
我原以为这样行,但抛出了索引错误。你知道吗
for i in caseno_lst:
for k, v in def_dict.items():
if k == i:
df['defadd'] = v
else:
pass
Expected output:
caseno defname defadd
0 123 defendant1 [123address, 123adress2, 123csz]
1 456 defendant2 [456address, 456address2, 456csz]
2 789 defendant3
3 000 defendant4
问题是,我的字典不一定会有一个键匹配df中我试图添加列和值的每个case no。你知道吗
我相信你需要:
或:
对于缺少的列表:
这将给出您的预期输出。你知道吗
基于
jason m
所说的,这可能不是最适合您的用例的数据结构也就是说,如果我理解了您的用例,您希望根据字典将地址与给定的caseno关联起来(期望caseno在某些地址实例中可能不存在),那么您将使用异常处理来只提取地址存在的那些实例。你知道吗
下面的代码可能是一种简单的方法(但决不是最有效的)
输出:
相关问题 更多 >
编程相关推荐