我有一个字典(dic)和一个数据帧(df),df中的一列是dic中的键,一列是dic值的索引(类型:列表),我想在df中添加一列,它应该匹配dic和index的键值。你知道吗
输入测向:
A B C
1 a ` 0
2 b @ 1
3 a # 1
4 c ¥ 0
5 b % 2
输入dic:
{'a': ['apple', 'append'], 'b': ['boy', 'baby', 'bus'], 'c': ['cow', 'code'], 'd': ['dog', 'dislike']}
目标df:
A B C D
1 a ` 0 apple
2 b @ 1 baby
3 a # 1 append
4 c ¥ 0 cow
5 b % 2 bus
这是我当前的代码:
df['D'] = dic[df['A']][df['C']]
错误:
TypeError: 'Series' objects are mutable, thus they cannot be hashed
请更正它,代码应该尽可能有效地执行。你知道吗
我会使用^{} 和^{} (考虑到字典名是
d
,您可以这样做):您可以使用
merge
并将输入字典转换为数据帧:输出:
您可以从dataframe中的两列定义元组列表,并使用每个值对输入字典和内部列表进行索引:
相关问题 更多 >
编程相关推荐