在使用LSTM案例预测天气时, 使用LabelEncoder对风向编号时发生错误

#遇到的问题,在使用LSTM案例预测天气时,在下面一步会报错

由于4列的风向是标签,编码成整数

encoder = LabelEncoder() # 简单来说 LabelEncoder 是对不连续的数字或者文本进行编号
print(values[:, 4])
values[:, 4] = encoder.fit_transform(values[:, 4])
print('标签编码')
print(values[0:5])
报错内容为:
AttributeError: 'MissingValues' object has no attribute 'to_list'

通过自己验证发现,只要是导入的csv文件都会报错,而自己编写的
x = np.array(['SE', 'SE', 'SE', 'SA', 'NW'])
x = encoder.fit_transform(x)
却不会报错

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: Python:14个常用数据清洗代码中的 13、连续性指派(LabelEncoder) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    from sklearn.preprocessing import LabelEncoder
    
    le = LabelEncoder()
    cdma_2['渠道统计归类'] = le.fit_transform(cdma_2[['渠道统计归类']])
    cdma_2['渠道统计归类'].value_counts()
    

    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你必须定义一个新的容器。
从我看来,你的问题是没有正确定义变量。
如果可以的话尝试使用pandas读取数据,并使用DataFarme的数据结构去拟合编码,而不是使用X
例如下面的代码:


dataset = pd.read_csv('Data.csv')

le =  LabelEncoder()
result = le.fit_transform(dataset[‘你需要转换的的列])
print(result)

如果有用的话,请帮我点个采纳,谢谢啦!