我正在对 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/