python - 使用 pandas 对一列中的文本数据进行分类,并在下一列中说明相应的类别
问题描述
在使用代码插入新列“费用”后,我的 excel 电子表格目前看起来像这样:
- 将熊猫导入为 pd
- df = pd.read_csv(r"C:\Users\Mihir Patel\Project\Excel & CSV Stuff\June '20 CSVData.csv")
- df_Expense = df.insert(2, "费用", "")
- df.to_excel(r"C:\Users\Mihir Patel\Project\Excel & CSV Stuff\June '20 CSVData.xlsx", index=None, header=True)
因此,因为“描述”列包含“DRAKES”一词,我可以将该费用归类为“个人”,它应该出现在它旁边的“费用”列中。
同样,下一个包含“Optus”的内容被归类为与移动相关的费用,因此“电话”一词应出现在“费用”列中。
我曾尝试在 Google 和 YouTube 上进行搜索,但我似乎无法找到这样的示例。
谢谢你的帮助。
解决方案
您可以定义一个具有所有这些规则的函数并简单地应用它。例如。
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)