title: python/pandas keeping decimal places exactly as in string
body: <p>I'm new to Python/pandas, and I have an issue with decimals and can't figure out for a few hours already how to solve it. Basically I want to read CSV file into pandas and keep the decimals exactly as they are stored in text, for future comparisons and simple math operations.
  Example:</p>
  <pre><code>is_string_dtype(report['item_weight_kg'])
  Out[12]: True
  
  l = report.loc[report['item'] == 'B0WY']
  num1 = l['item_weight_kg'][8210]
  
  num1
  Out[14]: '22.000370049504'
  </code></pre>
  <p>then I try to convert them to float, which gives me a value ending in <em>...3999</em> instead of <em>...4</em></p>
  <pre><code>report['item_weight_kg'] = report.apply(lambda x: float(x['item_weight_kg']), axis = 1 )
  
  l = report.loc[report['item'] == 'B0WY']
  num1 = l['item_weight_kg'][8210]
  
  num1
  Out[17]: 22.000370049503999
  </code></pre>
  <p>right after importing the dataset, I've tried to convert it to float, and in console it works properly, returns me the desired value, but when I am trying to apply it to the whole dataset, it doesn't</p>
  <pre><code>float(decimal.Decimal(l['item_weight_kg'][8210]))
  Out[23]: 22.000370049504
  
  report['item_weight_kg'] = report.apply(lambda x: float(decimal.Decimal(x['item_weight_kg'])), axis = 1 )    
  l = report.loc[report['item'] == 'B0WY']
  num1 = l['item_weight_kg'][8210]
  
  num1
  Out[25]: 22.000370049503999
  </code></pre>
  <p>How can this be solved?</p>