查找值未在字典中识别

时间:2016-06-02 13:28:33

标签: python dictionary

我创建了一个包含2100和97AK等值的字典。我创建了一个数据框,将值映射到字典。找到具有混合数字和字母的值,但所有整数都返回为NaN。什么可能导致识别字典值失败?

abbreviations = {'1700':'Navy', 
'2100': 'Army', 
'5700': 'AF', 
'9700': 'DOD', 
'9736': 'NA', 
}

import pandas as pd
import numpy as np
df = pd.read_excel("fun.xlsx")
columns = ['a', 'bc']
df1 = pd.DataFrame(df, columns=columns)

df1["b"] = df1["ac"].map(abbreviations)
print(df1)

1 个答案:

答案 0 :(得分:0)

您的abbreviations字典显示integers存储为strings(请注意代码中的周围单引号)。 2100'2100'不符。

您需要在适当的位置使用整数填充该字典,或者将数据框值读取/转换为类型string。见这里:Import pandas dataframe column as string not int