如何使用Python函数对数据列执行向量归一化
实现B、C列的向量归一化
数据集情况
数据集总共有1000行,以下是其中3行示例:
| Date | B | C |
|---|---|---|
| 2022-07-24 | 100 | 1234 |
| 2021-02-01 | 200 | 6789 |
| 2020-04-30 | 300 | 4324 |
变量说明:m代表数据集的行数,n代表列数,i用来遍历每一行,j用来遍历每一列。
我们要对B列和C列做L2归一化——也就是把列里的每个元素,除以该列所有元素平方和的平方根,对应逻辑公式如下:
df['B'] = df['B'] / np.sqrt((df['B'].pow(2)).sum())
df['C'] = df['C'] / np.sqrt((df['C'].pow(2)).sum())
完整Python代码实现
import pandas as pd import numpy as np # 读取数据集,示例用模拟数据演示,真实场景替换为pd.read_csv("你的数据文件路径")即可 sample_data = { 'Date': ['2022-07-24', '2021-02-01', '2020-04-30'], 'B': [100, 200, 300], 'C': [1234, 6789, 4324] } df = pd.DataFrame(sample_data) # 指定要归一化的列,批量处理更简洁高效 target_cols = ['B', 'C'] df[target_cols] = df[target_cols].apply(lambda col: col / np.sqrt((col ** 2).sum())) # 输出结果查看 print(df)
内容的提问来源于stack exchange,提问作者Madness
相关产品推荐
相关产品推荐

