python - 缩放 Pandas 系列

标签 python pandas dataframe

我正在对 DataFrame 进行计算,然后想缩放结果。我不断收到关于期望二维数组的错误,以及“如果您的数据具有单一特征,则使用 array.reshape(-1, 1) reshape 您的数据”

        import pandas as pd
        df = pd.DataFrame({'a': ['aaa', 'bbb', 'ccc'],
                           'b': [1, 2, 3],
                           'c': [4, 5, 6],
                           'd': [7, 8, 9]})
        df.set_index('a', inplace=True)

        series = df[['b', 'c']].sum(axis=1).div(df[['b', 'd']].sum(axis=1), axis=0)

        scaler = StandardScaler()
        series.values = scaler.fit_transform(series.values) 

我期望生成的 DataFrame 或 Series 具有完整的原始索引和一列缩放结果。

最佳答案

如果是一维的,你需要reshape它。为了避免来回转换,你可以这样做(也许有更好的解决方案):

series = pd.DataFrame({'values':series})

    values
a   
aaa 0.625
bbb 0.700
ccc 0.750

series['values'] = scaler.fit_transform(series[['values']])

    values
a   
aaa -1.297771
bbb 0.162221
ccc 1.135550

关于python - 缩放 Pandas 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64884874/

相关文章:

python - 如何使 df[ ['col1' ]] 成为一个系列

python - 使用条件删除数据框中一列上的重复值

python - 循环分组数据框中的组

python-2.7 - 如何对数据框的行应用操作,但影响可变列?

python - 再次计算重叠的正则表达式匹配

python - 如何将 Wikipedia wikitable 转换为 Python Pandas DataFrame?

python - 有没有办法使用 Pandas Dataframes 在 Excel 中设置敏感度标签?

python - 警告 : multiple data types in column of very large dataframe

python - Python pandas 读取大量.csv文件并分配不同的变量名

python - Django 查询功能无法正确过滤用户类型