您可以改为使用合并:
>>> ld = pd.Dataframe(labeldict).T>>> ld.columns = ['color', 'size']>>> ld.index.name = 'label'>>> df.merge(ld.reset_index(), on='label') label somedata color size0 b 1.462108 red medium1 c -2.060141 green small2 c 1.133769 green small3 c 0.042214 green small4 e -0.322417 red medium5 e -1.099891 red medium6 e -0.877858 red medium7 e 0.582815 red medium8 f -0.384054 red large9 d -0.172428 red medium