python - 缩放熊猫系列
问题描述
我正在对 DataFrame 进行计算,然后想要缩放结果。我不断收到关于期望二维数组和“如果您的数据具有单一特征,则使用 array.reshape(-1, 1) 重塑您的数据”的错误
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
推荐阅读
- c++ - 使用 int、long int、unsigned int 对代码的执行时间有什么显着影响吗?
- c# - 当计时器结束并且没有杀死足够多的敌人时如何将玩家带到失败的场景
- vue.js - 单击后 VUE 方法仅接收最后一个元素的属性
- process - 如果在架构中,同一信号有 2 个不同的分配,但其中一个在一个进程中怎么办?
- web-services - 创建实体的示例请求 XML
- react-native - 反应原生意外令牌功能
- vba - 如何解决 VBA 插入链接表错误 3134?
- c# - 订购父/子列表
- javascript - 我的模态按钮关闭不起作用
- ios - EXC_BAD_ACCESS (SIGSEGV) iOS 应用程序