如果有更好的方法,我不喜欢使用字典作为查找表。我已经创建了一个简单的Python字典(lkup),作为查找表使用来自df.letter的输入。我想将字典中的映射值输出到一个新列df.newletter中。下面的代码片段一直工作到最后一行中的实际赋值。
我尝试过仅使用数字索引,使用键、值、dict.get()和许多其他方法。我说得对吗?
import pandas as pd
df = pd.DataFrame()
df['letter'] = ['a', 'a', 'c', 'd', 'd']
lkup = {'a':'b', 'b':'c', 'c':'d', 'd':'e', 'e':'f'}
for key in lkup:
for i in range(0,4):
if df['letter'][i] in key:
df['newletter'][i] = [insert_dictionary_value]我希望在df.newletter列中查看映射的字典值。
发布于 2019-08-05 07:45:49
执行此操作不需要循环,只需使用df.map将新列赋给字典映射的旧列的值
...
>>> df['newletter'] = df['letter'].map(lkup)
>>> print(df)
letter newletter
0 a b
1 a b
2 c d
3 d e
4 d ehttps://stackoverflow.com/questions/57350896
复制相似问题