python - 如果 dict key[0][value] 中的行得到 key[1][value]
问题描述
我不确定标题是否正确,但这是我想要做的,这应该是一个简单的任务。
我有一个字典:
dict = {u'a': {0: u'1', 1: u'2'}, u'b': {0: u'A', 1: u'B'}}
然后我有一个数据框。
Num Letter
1
3 C
4 D
我想做的是
for index, row in df.iterrows():
if row[0] in dict['a'].values():
[row[1]] = dict['b'[0]] <- this isn't correct, but is what i'm trying to do
所以我想从字典中计算数据框中 row[1] 的值。
我知道我可以将 dict 转换为 df 并合并、追加等,但我需要使用 dict 进行更新。
我确信有一个简单的解决方案,但我似乎无法找到它。有谁知道用dict做到这一点的正确方法?
同样,我需要使用字典。
解决方案
我猜你正在寻找更多的东西:
if row[0] in d['a'].values():
row[1] = d['b'][row[0]]
我在这里做了几件事。首先,dict
它是一个内置的 Python 函数,所以我将你的字典命名d
为不与它冲突。
其次,在这个表达式中:
d['b'[0]]
从内到外读取它,它获取 string 'b'
,获取它的第一个字母,然后在字典中查找它。如果您将其重写为:
d['b'][row[0]]
它在字典中查找键'b'
,然后在结果字典中获取带有键的元素row[0]
。
最后,在左侧:
[row[1]] = ...
不是一个有效的分配。你只想设置现有数组的第二个值,所以你会写
row[1] = ...
推荐阅读
- python - 只读 gzip JSON 文件的第一行
- mql4 - 如何将发送订单从 mql4 转换为 mql5
- amp-html - AMP 从网页中删除政策声明
- python - 文件处理程序的日志级别与记录器的日志级别
- c# - 数据库级别的参数化查询会发生什么
- c# - WPF TreeView 子项不显示
- ruby-on-rails - 通过 Ruby 将 Active Admin 中的 jsoneditor 设为只读?
- reactjs - 带有 react-apexcharts 的点击事件
- regex - 正则表达式匹配我需要的文本之间的文本,最大字符数为 20
- django - 如何使用 Django 生成 Word 文档