首页 > 解决方案 > 使用 pandas 对一列中的文本数据进行分类,并在下一列中说明相应的类别

问题描述

在使用代码插入新列“费用”后,我的 excel 电子表格目前看起来像这样:

  1. 将熊猫导入为 pd
  2. df = pd.read_csv(r"C:\Users\Mihir Patel\Project\Excel & CSV Stuff\June '20 CSVData.csv")
  3. df_Expense = df.insert(2, "费用", "")
  4. df.to_excel(r"C:\Users\Mihir Patel\Project\Excel & CSV Stuff\June '20 CSVData.xlsx", index=None, header=True)

在此处输入图像描述

因此,因为“描述”列包含“DRAKES”一词,我可以将该费用归类为“个人”,它应该出现在它旁边的“费用”列中。

同样,下一个包含“Optus”的内容被归类为与移动相关的费用,因此“电话”一词应出现在“费用”列中。

我曾尝试在 Google 和 YouTube 上进行搜索,但我似乎无法找到这样的示例。

谢谢你的帮助。

标签: pythonexcelpandascsv

解决方案


您可以定义一个具有所有这些规则的函数并简单地应用它。例如。

def rules(x):
    if "DRAKES" in x.description:
        return "Personal"
    if "OPUS" in x.description:
        return "Mobile"

df["Expense"] = df.apply(lambda x: rules(x), axis=1)

推荐阅读