要对 Pandas 的数据进行标准化,可以使用 sklearn
库中的 StandardScaler
模块。这个模块可以对每一列的数据进行标准化处理,使得每个属性的平均值为 0,方差为 1。
下面是具体步骤:
1.加载Pandas和Sklearn库
首先,我们需要加载 Pandas 和 Sklearn 库,并且读取数据,将其转换成 DataFrame 类型
import pandas as pd
from sklearn.preprocessing import StandardScaler
# 读取数据
df = pd.read_csv('data.csv')
# 转换数据为 DataFrame 类型
df = pd.DataFrame(df)
2.数据标准化
使用 StandardScaler
对数据进行标准化处理
# 定义标准化器
scaler = StandardScaler()
# 对每列数据进行标准化处理
df[['feature1', 'feature2']] = scaler.fit_transform(df[['feature1', 'feature2']])
示例说明
假设我们有如下数据 (其中 feature1 代表身高, feature2 代表体重):
ID | feature1 | feature2 |
---|---|---|
1 | 170 | 70 |
2 | 175 | 80 |
3 | 180 | 90 |
4 | 160 | 60 |
5 | 165 | 65 |
对每一列数据进行标准化的代码示例如下:
import pandas as pd
from sklearn.preprocessing import StandardScaler
# 读取数据
df = pd.DataFrame({'ID': [1, 2, 3, 4, 5], 'feature1': [170, 175, 180, 160, 165], 'feature2': [70, 80, 90, 60, 65]})
# 定义标准化器
scaler = StandardScaler()
# 对每列数据进行标准化处理
df[['feature1', 'feature2']] = scaler.fit_transform(df[['feature1', 'feature2']])
# 显示标准化后的结果
print(df)
输出结果为:
ID feature1 feature2
0 1 -0.256637 -0.218218
1 2 0.514496 0.654654
2 3 1.285628 1.527525
3 4 -1.812815 -1.527525
4 5 -0.731673 -0.436436
可以看到,每列数据都被标准化为均值为 0,方差为 1 的正态分布。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas 对每一列数据进行标准化的方法 - Python技术站