python - 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
.
解决方案
如果要小写 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
推荐阅读
- java - 在 java 中转换 PDF 文件版本(不仅是标题版本!)
- ios - 如何在不影响其他功能的情况下关闭 UISearchBar 键盘?
- python-3.x - 增加 GRPC 消息大小不起作用
- c++ - 在 dev c ++ 中建议和完成代码的问题
- docker - 在同一个 gitlab 作业中使用 gitlab 和 terraform
- android - 为什么 AdMob AppOpenAd 在某些设备上会显示状态栏
- mysql - 使用两列作为主键。我可以保留一栏为空吗?
- sitemap - how to create a xml sitemap for react website
- javascript - Bootstrap“表单浮动”:标签在“行”内时有奇怪的边距
- xamarin - On Android MainDisplayInfoChanged event doesn't trigger on RequestedOrientation