BUG: Converted number to float incorrectly
### 

- [X] I have checked that this issue has not already been reported.

- [X] I have confirmed this bug exists on the [latest version](https://pandas.pydata.org/docs/whatsnew/index.html) of pandas.

- [X] I have confirmed this bug exists on the master branch of pandas.


### Reproducible Example

```python
import pandas as pd
data1 = [{
  'a': 0.1,
  'b': 0.2,
  'c': 3
}]
df1 = pd.DataFrame(data1)

data2 = [{
  'a': 0.1,
  'b': 'a',
  'c': 3,
}]
df2 = pd.DataFrame(data2)
```


### Issue Description

When all columns are either float or number, all columns will convert to float (including number). 

```
data1 = [{
  'a': 0.1,
  'b': 0.2,
  'c': 3
}]
df1 = pd.DataFrame(data1)
print(df.values)

the output (having "." after "3") is [0.1, 0.2, 3.]
```

When there is at least one non-float or non-number column, the value shows correctly
```
data2 = [{
  'a': 0.1,
  'b': 'a',
  'c': 3
}]
df2 = pd.DataFrame(data2)
print(df.values)

the output is [0.1, 0.2, 3]
```


### Expected Behavior

both are expected to get [0.1, 0.2, 3]

### Installed Versions

<details>

Replace this line with the output of pd.show_versions()
1.2.5
</details>
