我正在尝试使用scikitlearn的预处理来最小化-最大化熊猫上的一行。我的解决方案有效,但给了我两个警告,我想知道是否有更好的方法来做
下面是我的函数,它在给定数据帧和列的情况下执行minmaxscaling
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import MinMaxScaler
def minMaxScale(df, cols):
scaler = MinMaxScaler()
return scaler.fit_transform(df[cols])
这就是我使用它的地方
df.loc[:,'pct_mm'] = minMaxScale(df,['pct'])
其中“pct”列存在,而“pct_mm”列不存在。 我收到以下警告2次:
试图在数据帧切片的副本上设置值。 尝试改用.loc[row\u indexer,col\u indexer]=value
我应该如何按照熊猫想要的方式来做
无法复制警告:
但是,如果我这样做:
然后我也得到了两个警告
可能是从代码中的某个地方的另一个数据帧派生出
df
。我建议您查找使用df
的行,并确保制作副本,如:df = old_df.copy()
相关问题 更多 >
编程相关推荐