python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python颜色与数字映射

Python数据处理之轻松实现颜色与数字的映射

作者:IT小本本

这篇文章主要为大家详细介绍了Python数据处理中如何轻松实现颜色与数字的映射,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

在数据分析与日常数据处理中,我们经常需要将文本信息转换为数值型数据,尤其在颜色编码、分类标签等场景中尤为常见。

今天,我将分享一个简单实用的 Python 示例,

演示如何利用 pandas 库将颜色名称映射为对应的数字,并将结果保存为 Excel 文件。

定义颜色到数字的映射关系

首先,我们需要建立一个字典,明确每种颜色对应的数字编号。以下是一个示例映射(可根据实际需求扩展):

color_to_num = {
    "经典黑": 1,
    "气质蓝": 2,
    "橙": 6,
    # 其他颜色映射...
}

读取 Excel 文件

接着,使用 pandas 读取包含颜色数据的 Excel 文件。请确保文件路径正确,且文件中包含名为“源数据”的列:

import pandas as pd

excel_path = "source_data.xlsx"   # 可根据实际路径修改
df = pd.read_excel(excel_path)

将颜色字符串转换为数字串

我们定义一个函数 colors_to_numbers,用于处理“源数据”列中的颜色字符串(以中文逗号分隔),将其逐一映射为数字,并拼接成逗号分隔的数字串:

def colors_to_numbers(color_str):
    colors = [c.strip() for c in color_str.split(',')]   # 按中文逗号分割
    numbers = [str(color_to_num.get(c, "?")) for c in colors]  # 未知颜色标记为 "?"
    return ','.join(numbers)

df["模拟结果"] = df["源数据"].apply(colors_to_numbers)

输出处理结果

处理完成后,可以在控制台直接查看转换后的数据,便于快速验证:

print("处理后的结果:")
print(df)

保存为新的 Excel 文件

最后,将包含原始数据与转换结果的 DataFrame 保存为新的 Excel 文件,以便后续分析或分享:

output_path = "result_with_mapping.xlsx"
df.to_excel(output_path, index=False)
print(f"\n已保存结果至:{output_path}")

总结

通过这个简单的示例,我们学会了如何借助 Python 和 pandas 库,将颜色名称字符串映射为对应的数字串,并输出为 Excel 文件。这种方法在实际数据处理中非常实用,尤其适用于需要将分类文本(如颜色、标签等)转换为数值以便进一步分析的场景。

如果你有任何疑问,或者希望了解其他数据处理主题,欢迎在评论区留言。让我们一起在数据学习的道路上不断进步!

全部实现源代码

import pandas as pd

# 1. 定义颜色到数字的映射字典
color_to_num = {
    "经典黑": 1, "气质蓝": 2, "橙": 6, "浪漫红": 3, "贵族金": 4,
    "蓝色": 2, "黑色": 1, "金色": 4, "米白色": 5, "酒红色": 3,
    "洋红": 3, "白": 5, "黑": 1, "蓝": 2, "红": 3, "雪白": 5,
    "玫瑰金": 4, "天际蓝": 2, "活力橙": 6, "黄金": 4,
    "金黄色": 4, "鱼肚白": 5, "白花花": 5, "红色的": 3, "大红色的": 3,
    "纯白色": 5, "灰白": 5
}

# 2. 读取Excel文件(请确保文件路径正确,且包含“源数据”列)
excel_path = "source_data.xlsx"   # 可以修改为实际文件路径
df = pd.read_excel(excel_path)

# 3. 将“源数据”列中的颜色字符串转换为数字串
def colors_to_numbers(color_str):
    colors = [c.strip() for c in color_str.split(',')]   # 中文逗号分割
    numbers = [str(color_to_num.get(c, "?")) for c in colors]
    return ','.join(numbers)

df["模拟结果"] = df["源数据"].apply(colors_to_numbers)

# 4. 输出最终结果
print("处理后的结果:")
print(df)

# 5. 可选:保存为新Excel文件
output_path = "result_with_mapping.xlsx"
df.to_excel(output_path, index=False)
print(f"\n已保存结果至:{output_path}")

到此这篇关于Python数据处理之轻松实现颜色与数字的映射的文章就介绍到这了,更多相关Python颜色与数字映射内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文