title: Replace values in pandas dataframe utilizing a nested dictionary
body: <p>I have the following dataframe and dictionary:</p>
  
  <pre><code>df = pd.DataFrame([{'A': 'a', 'B': 'a', 'C': 'a'}, {'A': 'b', 'B': 'b', 'C': 'b'}], columns=["A", "B", "C"])
  df
  
       A    B    C
   0   a    a    a
   1   b    b    b
  
  dic = { 'A': { 'a': 'label aa', 'b': 'label aaa'}, 'B': { 'a': 'label bb', 'b': 'label bbb'}, 'C': { 'a': 'label cc', 'b': 'label ccc'}}
  dic
  
  {'A': {'a': 'label aa', 'b': 'label aaa'},
   'B': {'a': 'label bb', 'b': 'label bbb'},
   'C': {'a': 'label cc', 'b': 'label ccc'}}
  </code></pre>
  
  <p>I want to match the df columns with the "outer keys". Once it finds a match, I would like to map the rows with the "inner key's values".</p>
  
  <p>Here is my desired result:</p>
  
  <pre><code>     A           B          C
  0  label aa   label bb   label cc
  1  label aaa  label bbb  label ccc
  </code></pre>