【发布时间】:2018-06-27 19:11:16
【问题描述】:
我有一个 DataFrame 列表,所有列都具有相同的列,并且希望将所有这些中的值标准化为 [0, 1],同时还保持 DataFrame 之间值的相对缩放。
对于单个 DataFrame,我可以这样做:
df = (df - df.min()) / (df.max() - df.min())
但是,我怎样才能获得所有 DataFrame 中每列的最小值和最大值,然后将与上述相同的公式应用于每个单独的 DataFrame,使用每列的集合最小值和最大值?
这是一个包含 2 个 DataFrame 的示例列表,每个 DataFrame 在其上单独标准化:
import numpy as np
import pandas as pd
dfs = []
for i in range(2):
data = np.random.rand(3, 3)
df = pd.DataFrame(data, columns=["one", "two", "three"])
dfs.append(df)
print(df)
for i in range(2):
dfs[i] = (dfs[i] - dfs[i].min()) / (dfs[i].max() - dfs[i].min())
print(dfs[i])
【问题讨论】:
-
啊,你有多个列。您想要按列还是按数据框进行标准化?
-
所有数据帧中的每列
标签: python pandas dataframe normalization