pandas - 如果它包含字符串(而不是完全匹配),如何检查 Pandas 数据框列的每一行?
问题描述
“receiverlist”是一个 Pandas 数据框,其中包含银行对账单中的唯一接收者及其总金额。我还启动了一个新列“类别”,其中值最初为 0。
Receiver Amount Category
140 abcreceiver 5000 0
39 xyzreceiver 3000 0
103 asdreceiver 562.51 0
148 ertreceiver 416.98 0
62 yuireceiver 231.00 0
目标:
我想为“Receiver”列中的每个接收器运行一个函数,以便每个包含给定字符串(searchterm)的接收器在“Category”列中获取给定的类别(givecategory)。但是,我当前的函数仅在值完全匹配时才有效,但我不知道如何使部分匹配足够。
当前函数如下所示:
def categorize(searchterm, givecategory):
receiverlist["Category"] = np.where(receiverlist["Receiver"] == searchterm, givecategory, receiverlist["Category"])
return receiverlist["Category"]
然后我运行分类功能:
receiverlist["Category"] = categorize("xyz", "Receiver Xyz")
所以问题是:如何给包含给定“xyz”(或任何部分搜索词)的接收器添加给定的给定类别到其类别列?
解决方案
推荐阅读
- javascript - 反应钩子useState()的真正奇怪的行为
- ruby-on-rails - BookingsController#create 中的 ActiveRecord::RecordNotFound 找不到没有 ID 的酒店
- python - 在一个语句中替换多个字符
- java - 用于 Java 的 opencv VideoWriter 在 MacOS 上无法按预期工作
- c++ - 类析构函数中的 delete 关键字有什么问题?
- python - (Python)“matplotlib”在我的 Pycharm 中不起作用
- python - 如何去歪斜文本图像也检索该图像的新边界框?
- spring-boot - 使用 spock 测试 Spring 启动
- python - gamma SVC sklearn 的默认值
- c# - 变量用于代替命名空间?