【问题标题】:How to normalize dataframe based on a column weight如何根据列权重规范化数据框
【发布时间】:2021-10-03 06:04:58
【问题描述】:

我有这个数据框,我想使用 A 列作为权重对其(B、C、D 列)进行标准化/标准化。

A B C D
34 5 1 12
26 9 0 2
10 0 4 1

这可能吗?

【问题讨论】:

  • 给定样本输入的期望输出是什么?
  • 什么是权重标准化?请添加示例。
  • 我想要 [0..1] 比例的 BCD 列,但基于 A 列的权重(在这种情况下,C 列和 D 列中的数字 1 应该具有不同的输出值)

标签: python pandas dataframe scikit-learn


【解决方案1】:

听起来您想将 B、C 和 D 列中的值除以 A 列中相应的行值。

要使用名为 df 的 pandas 数据框来执行此操作:

print(df)

A   B   C   D
34  5   1   12
26  9   0   2
10  0   4   1

cols = df.columns[1:]
for column in cols:
    df[column] = df[column]/df["A"]

print(df)

A   B           C           D
34  0.147059    0.029412    0.352941
26  0.346154    0.000000    0.076923
10  0.000000    0.400000    0.100000

【讨论】:

  • 谢谢@jros,你的代码解决了! :)
  • @tainaamoraes 很高兴我能帮上忙!
猜你喜欢
  • 1970-01-01
  • 2021-04-05
  • 2020-08-01
  • 2013-07-31
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
相关资源
最近更新 更多