pandas(七):列表转字典、map使用、为csv加表头

一、代码

复制代码
def clean():
    train = pd.read_csv(os.path.join(raw, "train.txt"),sep="\t", header=None,names=["s", "l"])
    train_s = train["s"].tolist()
    train_l = train["l"].tolist()

    dev = pd.read_csv(os.path.join(raw, "val.txt"),sep="\t", header=None,names=["s", "l"])
    dev_s = dev["s"].tolist()
    dev_l = dev["l"].tolist()

    test = pd.read_csv(os.path.join(raw, "test.txt"),sep="\t", header=None,names=["s", "l"])
    test_s = test["s"].tolist()
    test_l = test["l"].tolist()

    label_list = list(set(train_l + dev_l + test_l))
    label_dict = dict(zip(label_list, range(len(label_list))))
    print(label_list)
    print(label_dict)

    with open(os.path.join(data, "class.txt"), "w", encoding="utf8") as f:
        for l in label_list:
            f.write(l + "\n")

    out_train_l = list(map(lambda x: label_dict[x], train_l))
    print(out_train_l)

    out_dev_l = list(map(lambda x: label_dict[x], dev_l))
    print(out_dev_l)

    out_test_l = list(map(lambda x: label_dict[x], test_l))
    print(out_test_l)

    train_df = pd.DataFrame({"setence": train_s, "label": out_train_l})
    train_df.to_csv(os.path.join(data, "train.txt"), sep="\t", encoding="utf8", header=None, index=None)

    dev_df = pd.DataFrame({"setence": dev_s, "label": out_dev_l})
    dev_df.to_csv(os.path.join(data, "dev.txt"), sep="\t", encoding="utf8", header=None, index=None)

    test_df = pd.DataFrame({"setence": test_s, "label": out_test_l})
    test_df.to_csv(os.path.join(data, "test.txt"), sep="\t", encoding="utf8", header=None, index=None)
复制代码

 

posted @   jasonzhangxianrong  阅读(332)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示