我有一个具有2171列和200+行的df。我想要将这些cols的范围标准化。
输入df
Time '340.0' '341.0' '342.0' 'Mode'
11:30:15 PM 0.25 0.35 0.65 light
11:31:15 PM 0.22 0.30 0.62 auto
11:32:15 PM 0.32 0.39 0.98 auto
.
.
.
如果只在一个列上使用代码,我不确定如何应用于一系列的列。
sr_df['340.0'] = sr_df['340.0'].apply(lambda x: (x - x.mean()) / (x.std()))
我是python的新手,我不知道为什么它会给我以下错误:
AttributeError: 'float' object has no attribute 'mean'
发布于 2018-07-24 04:49:55
您也可以使用来自Sklean的MinMaxScaler。它将自动调整/缩放0到1之间的所有值。请参阅this example和this one。
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
columns = ['301', '341', '342']
df[columns] = scaler.fit_transform(df[columns])
https://stackoverflow.com/questions/51485955
复制相似问题