Python pandas:规范化数据的最佳方法?

时间:2016-10-22 21:18:14

标签: python-3.x pandas normalization

我有一个大型的pandas数据框,大约有80列。数据框中的80列中的每一列都报告网站的每日流量统计信息(列是网站)。

由于我不想使用原始流量统计信息,我更喜欢规范化所有列(第一列除外,即日期)。从0到1或(甚至更好)从0到100。

Date        A      B      ...
10/10/2010  100.0  402.0  ...
11/10/2010  250.0  800.0  ...
12/10/2010  800.0  2000.0 ...
13/10/2010  400.0  1800.0 ...

话虽如此,我想知道适用哪种规范化。 Min-Max scaling与z-Score标准化(标准化)?我的一些专栏有很强的异常值。有一个例子会很棒。很抱歉无法提供完整的数据。

1 个答案:

答案 0 :(得分:15)

首先,将Date列转换为索引。

dates = df.pop('Date')
df.index = dates

然后使用z-score normalizing:

df1 = (df - df.mean())/df.std()

或最小 - 最大缩放:

df2 = (df-df.min())/(df.max()-df.min())

我可能会建议z-score归一化,因为min-max缩放非常容易受到异常值的影响。