title: display pandas dataframe with european formatting
body: <p>I found answers on the question on how to load csv files with european formatting into pandas dataframes and display them in the US format (2,345.21). However how can I display floats saved in the US format in the european format (2.345,21) in pandas.</p>
  
  <p>I tried to just change dot and commas here:</p>
  
  <p>from</p>
  
  <pre><code>pd.options.display.float_format = '{:,.2f}'.format
  </code></pre>
  
  <p>to</p>
  
  <pre><code>pd.options.display.float_format = '{:.,2f}'.format
  </code></pre>
  
  <p>but this doesn't work. Another possibility could be to change the type to string and then replace dots with commas, but isn't there a more elegant way?</p>
  
  <hr>
  
  <p>It seems it works with locale aware seperators.
  If your operating system has the locale Germany it is pretty easy:</p>
  
  <pre><code>import pandas as pd
  import locale
  locale.setlocale(locale.LC_ALL, '')
  pd.options.display.float_format = '{:n}'.format
  df = pd.DataFrame([2123.4567, 234.5678, 345.6789, 456.7890],
                    index=['foo','bar','baz','quux'],
                    columns=['cost'])
  print(df)
  </code></pre>
  
  <p>results to:</p>
  
  <pre><code>         cost
  foo  2.123,46
  bar   234,568
  baz   345,679
  quux  456,789
  </code></pre>
  
  <p>However now I am dealing with the problem to format the precision and the format for high numbers. As the result of the following format command is somewhat surprising.</p>
  
  <pre><code>#precision
  pd.options.display.float_format = '{:.2n}'.format
  print(df)
  
          cost
  foo  2,1e+03
  bar  2,3e+02
  baz  3,5e+02
  quux 4,6e+02
  
  #high numbers
  pd.options.display.float_format = '{:n}'.format
  df = pd.DataFrame([1222333, 234.5678, 345.6789, 456.7890],
                    index=['foo','bar','baz','quux'],
                    columns=['cost'])
  print(df)
  
              cost
  foo  1,22233e+06
  bar      234,568
  baz      345,679
  quux     456,789
  </code></pre>