Python应用方法

时间:2018-05-06 02:54:15

标签: python python-3.x

我有一个有5行5列的DataFrame。

由声明 -

创建
df = pd.DataFrame(np.random.randn(25).reshape(5,5), index=list('abcde'), columns=list('vwxyz'))

我需要 - 定义一个函数调用'标准化',它在一个系列上起作用:
找出系列的平均值和标准差 用平均值减去系列的每个值 将结果除以标准差
将此函数应用于DF的每个数字列(int或float)。

要做到这一点,我做 -
1)

def Standardizing(y):
    mean = y.mean()
    sd = y.std()
    return y.map(lambda x: round(((x-mean)/sd),2))

df.apply(Standardizing)

2)

def Standardizing2(y):
    mean = y.mean()
    sd = y.std()
    return round((y-mean)/sd,2)

df.apply(Standardizing2)

虽然我明白,1应该有用。 y对我来说是一个系列,然后我使用地图来达到系列的每个元素 只是好奇,我写了2,这也有效 我不明白为什么会这样。我真的很感激任何投入。

0 个答案:

没有答案