欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python数据标准化

程序员文章站 2022-07-16 17:07:57
...

Catalog

零一标准化

Python数据标准化

import pandas as pd
import matplotlib.pyplot as mp
d = {'name': list('ABCD'), 'value': [1002, 1000, 1010, 1001]}
df = pd.DataFrame(d)
# 0-1标准化
value_01 = (
    (df['value'] - df['value'].min())
    /
    (df['value'].max() - df['value'].min())
)
df['0-1'] = value_01
print(df)

# 可视化
mp.figure(num='Title', facecolor='lightgray', figsize=(6, 3))
# 左图:处理前
mp.subplot(1, 2, 1)
mp.title('origin', fontsize=12)
mp.bar(df['name'], df['value'], 0.2, color='dodgerblue', label='value')
mp.legend()
# 右图:【零一标准化】处理后
mp.subplot(1, 2, 2)
mp.title('0-1 standardization', fontsize=12)
mp.bar(df['name'], df['0-1'], 0.2, color='orangered', label='0-1')
mp.legend()
# 展示
mp.tight_layout()  # 紧凑布局,防止叠压
mp.show()

Python数据标准化

以中位数为0的可视化

import pandas as pd
import matplotlib.pyplot as mp
d = {'name': list('ABCD'), 'value': [101, 95, 115, 100]}
df = pd.DataFrame(d)
# 中位数变0
median0 = (
    (df['value'] - df['value'].median())
)
df['median-->0'] = median0
print(df)

# 可视化
mp.figure(num='Title', facecolor='lightgray', figsize=(6, 3))
# 左图:处理前
mp.subplot(1, 2, 1)
mp.title('origin')
mp.bar(df['name'], df['value'], 0.2, color='dodgerblue', label='origin')
mp.legend()
# 右图:【中位数变0】处理后
mp.subplot(1, 2, 2)
mp.title('median-->0')
ax = mp.gca()  # 获取当前坐标轴对象
ax.spines['bottom'].set_position(('data', 0))  # 将底边框置于数据坐标原点
mp.bar(df['name'], df['median-->0'], 0.2, color='orangered', label='median-->0')
mp.legend()
# 展示
mp.tight_layout()  # 紧凑布局,防止叠压
mp.show()

Python数据标准化