我有以下数据框
df:
group people value value_50
1 5 100 1
2 2 90 1
1 10 80 1
2 20 40 0
1 7 10 0
2 23 30 0
而且我正在尝试将sklearn minmax应用于列中的一个,给定数据集的条件,然后希望按照我原始数据中的pandas索引将其重新加入
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
复制以上数据后
data = pd.read_clipboard()
minmax = MinMaxScaler(feature_range=(0,10))
''' Applying a filter on "group" and then apply minmax only on those values '''
val = pd.DataFrame(minmax.fit_transform(data[data['group'] == 1][['value']])
,columns = ['val_minmax'] )
但是看起来我们在minmax之后丢失了索引
val
val_minmax
0 10.000000
1 7.777778
2 0.000000
此过滤器上原始数据集中的索引是
data[data['group'] == 1]['value']
output:
0 100
2 80
4 10
所需数据集:
df_out:
group people value value_50 val_minmax
1 5 100 1 10
2 2 90 1 na
1 10 80 1 7.88
2 20 40 0 na
1 7 10 0 0
2 23 30 0 na
现在,如何将我的数据加入原始数据的行中,以便获得上述输出?
答案 0 :(得分:1)
您只需要将其分配回
O(N)