我想创建一个新列col2
并使用字典进行计算。当找不到键时,我想将值计算为0:
import pandas as pd
df = pd.DataFrame({'col1': {0: 'a', 1: 'b', 2: 'c'}})
d = {'a':1,'b':2}
col1
0 a
1 b
2 c
所以我尝试:
df['col2'] = d.get(df['col1'], 0)
builtins.TypeError: 'Series' objects are mutable, thus they cannot be hashed
我猜我需要使用map,如下所示:
df['col2'] = df['col1'].map(d)
但是,如果缺少键而不是Nan,如何获得0?