1. Warning: A value is trying to be set on a copy of a slice from a DataFrame.
给dataframe赋值时,赋值成功,但出现warning。
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
C_1 = C_features[dist_col]
C_1['col'] = le.fit_transform(C_1['col'])

即使按提示将 C_1['col'] 改成 C_1.loc[:,'col'],warning还是会出现。测试了将其他数组赋值到dataframe出现同样的warning。有可能是因为C1是从另一个dataframe C_features 提取出来的,修改成复制就毛问题都没有。
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
C_1 = C_features[dist_col].copy()
C_1['col'] = le.fit_transform(C_1['col'])
这样就无warning了。
本文探讨了在使用sklearn预处理模块对pandas DataFrame进行操作时遇到的警告问题:尝试在一个DataFrame切片的副本上设置值。通过使用.copy()方法创建原始数据的副本,可以避免这一警告,确保数据操作的正确性。
1090

被折叠的 条评论
为什么被折叠?



