我尝试在大型pandas数据帧中编码包含分类数据("Yes"
和"No"
)的多个列.完整的数据帧包含400多列,因此我寻找一种方法来编码所有需要的列,而不必逐个编码.我使用Scikit-learn LabelEncoder
来编码分类数据.
数据帧的第一部分不必编码,但是我正在寻找一种方法来直接编码包含分类日期的所有所需列,而不需要拆分和连接数据帧.
为了演示我的问题,我首先尝试在数据帧的一小部分上解决它.然而,卡在数据拟合和转换的最后一部分并得到一个ValueError: bad input shape (4,3)
.我运行的代码:
# Create a simple dataframe resembling large dataframe
data = pd.DataFrame({'A': [1, 2, 3, 4],
'B': ["Yes", "No", "Yes", "Yes"],
'C': ["Yes", "No", "No", "Yes"],
'D': ["No", "Yes", "No", "Yes"]})
# Import required module
from sklearn.preprocessing import LabelEncoder
# Create an object of the label encoder class
labelencoder = LabelEncoder()
# Apply labelencoder object on columns
labelencoder.fit_transform(data.ix[:, 1:]) # First column does not need to …
Run Code Online (Sandbox Code Playgroud)