gpt4 book ai didi

python - Sklearn Scaler 输出行为

转载 作者:行者123 更新时间:2023-12-01 01:56:40 26 4
gpt4 key购买 nike

我有一种情况,我想将 sklearn 的 StandardScaler 对象应用到数据帧的一列。代码如下:

import pandas as pd
from sklearn.preprocessing import StandardScaler

df = pd.DataFrame([(1,2,3), (2,3,4), (3,4,5)], columns=['a','b','c'])
scaler = StandardScaler().fit(df['c'].values.reshape(-1,1))
df['d'] = df['c'].apply(scaler.transform)
df

当我缩放 c 列并将结果输出到 d 列时,d 中的值看起来像 [[-1.224744871391589]] ,形状 (1,1)

我希望输出值是一个数值,而不是上面看到的列表。我当然可以通过做类似 df['d'] = df['d'].apply(lambda x: x[0][0]) 的事情来解决这个问题,但如果没有必要,我想避免此类额外的并发症。

我是否错误地使用了缩放器对象,或者这是解决该问题的唯一方法?提前致谢!

最佳答案

习惯是先实例化变压器/估计,然后进行拟合和变换。以下是经过一些细微更改后的输出:

import pandas as pd
from sklearn.preprocessing import StandardScaler

df = pd.DataFrame([(1,2,3), (2,3,4), (3,4,5)], columns=['a','b','c'])

scaler = StandardScaler()

scaler.fit(df['c'].values.reshape(-1,1))

df['d'] = scaler.transform(df['c'].values.reshape(-1,1))
df

Out[84]:
a b c d
0 1 2 3 -1.224745
1 2 3 4 0.000000
2 3 4 5 1.224745

关于python - Sklearn Scaler 输出行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50091331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com