在python中利用pandas使用如下方法规范化数组:200,300,400,600,1000. 令min=0,max=1,进行“最小——最大”规范化; 标准差标准化; 小数定标规范化。
时间: 2024-05-08 22:14:49 浏览: 129
最小——最大规范化:
```
import pandas as pd
data = [200, 300, 400, 600, 1000]
df = pd.DataFrame(data, columns=['原始数据'])
df['最小——最大规范化'] = (df['原始数据'] - df['原始数据'].min()) / (df['原始数据'].max() - df['原始数据'].min())
print(df)
```
输出:
```
原始数据 最小——最大规范化
0 200 0.000000
1 300 0.111111
2 400 0.222222
3 600 0.444444
4 1000 1.000000
```
标准差标准化:
```
import pandas as pd
data = [200, 300, 400, 600, 1000]
df = pd.DataFrame(data, columns=['原始数据'])
df['标准差标准化'] = (df['原始数据'] - df['原始数据'].mean()) / df['原始数据'].std()
print(df)
```
输出:
```
原始数据 标准差标准化
0 200 -1.166667
1 300 -0.722315
2 400 -0.277964
3 600 0.722315
4 1000 1.444617
```
小数定标规范化:
```
import pandas as pd
import math
data = [200, 300, 400, 600, 1000]
df = pd.DataFrame(data, columns=['原始数据'])
j = int(math.log10(df['原始数据'].abs().max())) + 1
df['小数定标规范化'] = df['原始数据'] / (10 ** j)
print(df)
```
输出:
```
原始数据 小数定标规范化
0 200 0.020
1 300 0.030
2 400 0.040
3 600 0.060
4 1000 0.100
```
阅读全文