首页 > 解决方案 > Python如何在将字段文本转换为小写后在一列数据表中找到关键字?

问题描述

我需要查找 excel 字段中是否有关键字。

我要做的第一件事是将此字段转换为小写:

import pandas as pd

data = pd.read_excel('data.xlsx', sheet_name = 1)

所以我使用了以下内容:

data['Notes']=(map(str.upper, data['Notes']))

Notes我要使用的字段在哪里。但是该函数为每个单元格返回如下内容:

我尝试使用list()

data['Notes']=list(map(str.upper, data['Notes']))

但我收到一个错误:

描述符“lower”需要一个“str”对象但收到一个“map”

对于搜索,我做了以下内容:

keywords = ['reception', 'warehouse', 'under construction', 'construction']
data['new field'] = ''
for note in data['Notes']:
    for keyword in keywords:
        if keyword in note:
            data['new field'] = True
        else:
            data['new field'] = False

new_field它总是包含False.

标签: pythondata-science

解决方案


如果要小写 pandas 数据框中的列。它应该是:

data['Notes'] = data['Notes'].str.lower()
# NOT THIS: data['Notes']=(map(str.upper, data['Notes']))

现在你可以尝试循环它并检查:

keywords = ['reception', 'warehouse', 'under construction', 'construction']
data['new field'] = ''
for note in data['Notes']:
    if note in keywords:
        data['new field'] = True
    else:
        data['new field'] = False

推荐阅读