您提到的代码没有正确地将列映射为数字值,导致输出为 NaN。以下是修正后的代码示例:

# 创建映射字典
color_mapping = {'浅白': 1, '青绿': 2, '乌黑': 3}
root_mapping = {'稍蜷': 1, '蜷缩': 2, '硬挺': 3}
sound_mapping = {'清脆': 1, '浊响': 2, '沉闷': 3}
texture_mapping = {'清晰': 1, '稍糊': 2, '模糊': 3}
navel_mapping = {'平坦': 1, '稍凹': 2, '凹陷': 3}

# 使用映射字典对 DataFrame 进行映射
df['色泽'] = df['色泽'].map(color_mapping)
df['根蒂'] = df['根蒂'].map(root_mapping)
df['敲声'] = df['敲声'].map(sound_mapping)
df['纹理'] = df['纹理'].map(texture_mapping)
df['脐部'] = df['脐部'].map(navel_mapping)

在这个修正后的代码示例中,我们首先创建了用于映射的字典,然后使用 map() 函数将 DataFrame 中的每个对应列映射为数字值。请确保字典中的键与原始数据中的唯一值相匹配,以确保映射正确。

Python DataFrame 列映射为数字值:解决 NaN 输出问题

原文地址: https://www.cveoy.top/t/topic/jaO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录