pandas dataframe 在整行中搜索字符串

2024-03-02

我有一个如下所示的熊猫数据框。我想在数据帧的每一行中搜索文本,并突出显示该文本是否出现在该行中。

例如,我想在每一行中搜索“jones”。我想忽略搜索词的大小写。在下面的情况下,我想向名为“jones”的数据添加一个新列,它的值将是 1,1,0,因为该单词在第一行和第二行中找到

I found this https://stackoverflow.com/questions/32616261/filtering-pandas-dataframe-rows-by-contains-str帖子展示了如何在列中查找文本,但是当我有很多列(例如 50+)时,如何找到文本?我考虑过连接所有列并创建一个新列,但没有看到任何可以连接数据帧的所有列的函数(不需要输入每个列名称)

我想对我拥有的多个关键字执行此操作。例如我有关键字列表LLC, Co, Blue, alpha还有更多 (30+)

sales = [{'account': 'Jones LLC', 'Jan': '150', 'Feb': '200', 'Mar': '140'},
         {'account': 'Alpha Co',  'Jan': 'Jones', 'Feb': '210', 'Mar': '215'},
         {'account': 'Blue Inc',  'Jan': '50',  'Feb': '90',  'Mar': '95' }]
df = pd.DataFrame(sales)

来源DF:

   Feb    Jan  Mar    account
0  200    150  140  Jones LLC
1  210  Jones  215   Alpha Co
2   90     50   95   Blue Inc

所需的DF:

   Feb    Jan  Mar    account  jones  llc  co  blue  alpha
0  200    150  140  Jones LLC      1    1   0     0      0
1  210  Jones  215   Alpha Co      1    0   1     0      1
2   90     50   95   Blue Inc      0    0   0     1      0

这里我们使用内置的pandasstr功能contains, 随着apply然后把它们放在一起any如下,

search_string = 'Jones'

df[search_string] = (df.apply(lambda x: x.str.contains(search_string))
                       .any(axis=1).astype(int))
df

Out[2]:
     Feb    Jan    Mar   account     Jones
0    200    150    140   Jones LLC   1
1    210    Jones  215   Alpha Co    1
2    90     50     95    Blue Inc    0

这可以很容易地扩展为contains使用正则表达式来进行匹配。它还具有一个大小写参数,以便您可以使其不区分大小写并搜索两者Jones and jones.

为了循环搜索词列表,我们需要进行以下更改。通过存储每个搜索结果(aSeries)在列表中,我们使用列表将系列连接在一起DataFrame。我们这样做是因为我们不想在新列中搜索新的 search_string,

df_list = []

for search_string in ['Jones', 'Co', 'Alpha']:
    #use above method but rename the series instead of setting to
    # a columns. The append to a list.
    df_list.append(df.apply(lambda x: x.str.contains(search_string))
                     .any(axis=1)
                     .astype(int)
                     .rename(search_string))

#concatenate the list of series into a DataFrame with the original df
df = pd.concat([df] + df_list, axis=1)
df

Out[5]:
    Feb    Jan     Mar    account    Jones  Co   Alpha
0   200    150     140    Jones LLC  1      0    0
1   210    Jones   215    Alpha Co   1      1    1
2   90     50      95     Blue Inc   0      0    0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas dataframe 在整行中搜索字符串 的相关文章

  • 每个 id 创建 n 行 |熊猫

    我有一个数据框df如下 id lob addr addr2 a1 001 1234 0 a1 001 1233 0 a3 003 1221 0 a4 009 1234 0 我想生成n 让我们每个 id 取 4 行 其他列是null na n
  • pandas 中的分箱和转换

    我有下面的数据框 A B 1 1 4 1 5 1 6 2 8 3 15 4 我想将数据框分箱并转换为下面的数据框 range A sum B 0 4 2 5 9 6 10 14 0 15 19 4 I tried groupby Group
  • 如何用 Pandas DataFrame 中的行总和替换 NaN

    我试图用 Pandas DataFrame 中的行总和替换某些列中的 NaN 请参阅下面的示例数据 Items Estimate1 Estimate2 Estimate3 Item1 NaN NaN 8 Item2 NaN NaN 5 5
  • pandas 用 nan 值切割了一系列

    我想将 pandas cut 函数应用于包含 NaN 的序列 期望的行为是它对非 NaN 元素进行存储并为 NaN 元素返回 NaN import pandas as pd numbers with nan pd Series 3 1 2
  • 对seaborn图中的分类x轴进行排序

    我正在尝试使用 seaborn 散点图绘制数据框中前 30 的值 如下所示 同一图的可重现代码 import seaborn as sns df sns load dataset iris function to return top 30
  • 获取符合某些条件的 Pandas DataFrame 的列和行索引对

    假设我有一只熊猫DataFrame喜欢跟随 这些值基于距离矩阵 A pd DataFrame 1 0 0 8 0 6708203932499369 0 6761234037828132 0 7302967433402214 0 8 1 0
  • 按行中的值选择 pandas 数据框中的列

    我有一个pandas DataFrame列太多 我想选择行中的值等于的所有列0 and 1 所有列的类型是int64我无法通过以下方式选择它们object或其他类型 我怎样才能做到这一点 IIUC 然后你可以使用isin http pand
  • 如何让所有行数据去掉相似的数据并相乘浮点数

    如何分离所有列 df df hlogUs dB hlogDs dB df hlogUs dB hlogDs dB 0 109 3 4 110 3 4 111 3 4 112 3 5 113 3 5 1 5 2 5 6 2 5 7 2 1 8
  • 使用 pandas 插值将每月值转换为每日值

    我有 1000 列的 12 个平均每月值 我想使用 pandas 将数据转换为每日数据 我尝试过使用插但我得到了从 31 01 1991 到 31 12 1991 的每日值 这并不涵盖全年 一月份的值没有得到 我用了日期范围用于我的数据框的
  • 是否可以在 R 中为 data.frame 命名别名

    使用某些数据标准时 使用多种方法来查看 data frame 的列会更简单 作为一个具体示例 在使用 SDTM 数据进行临床试验时 每种数据类型 如实验室或生命体征 都有一列时间点 实验室名称为 LBPT 生命体征名称为 VSTPT 理想情
  • R 数据框到嵌套列表

    我想将这种格式的数据帧 tbl 转换为以下嵌套列表 tbllst library tidyr tbl lt tribble Col1 Col2 Col3 Var1 Var1 1 Var1 1 1 Var1 Var1 1 Var1 1 2 V
  • 在 Pandas 中按索引分组

    如何使用 groupby by 索引 1 2 3 它们的顺序相同 并获得属于每个索引范围的列分数的总和 基本上我有这个 index score 1 2 2 2 3 2 1 3 2 3 3 3 我想要的是 index score sum 1
  • Android 搜索界面未提交查询

    我按照官方教程实现了一个搜索界面 搜索小部件 搜索界面 http developer android com training search setup html密切 一切看起来都不错 但我无法提交搜索查询 当我单击键盘上的 发送 按钮时
  • 为什么 pyplot.plot() 创建一个宽度=1、高度=1 的额外矩形?

    我正在从 DataFrame 创建一个简单的条形图 Series 和 DataFrame 上的绘图方法只是 pyplot plot 的简单包装 import pandas as pd import matplotlib as mpl df
  • 通过变量分割 data.frame [重复]

    这个问题在这里已经有答案了 我将多个主题的数据存储在一个 CSV 文件中 导入 CSV 文件后 我想将每个参与者的数据拆分到自己的 data frame 中 更确切地说 我想采用下面的示例数据 并创建三个新的 data frames 每个
  • 删除 python vaex 中的重复行

    我正在使用 python vaex 但我不知道如何删除数据框中的重复行 例如 在 pandas 中存在以下方法drop duplicates vaex中有没有类似的功能 似乎还没有 但我们应该在某个时候期待这个功能 其间 有vaex创始人的
  • 显示多索引 pandas 数据帧的前 10 行

    我有一个多级索引 pandasDataFrame第一级在哪里year第二级是username 我只有一列已经按降序排序 我想显示每个索引级别 0 的前 2 行 我拥有的 count year username 2010 b 677 a 50
  • 为 pandas 数据框中的两列创建邻接矩阵

    我有一个以下形式的数据框 index Name A Name B 0 Adam Ben 1 Chris David 2 Adam Chris 3 Ben Chris 我想获得邻接矩阵Name A and Name B ie Adam Ben
  • 如何检查两个数据集的匹配列之间的相关性?

    如果我们有数据集 import pandas as pd a pd DataFrame A 34 12 78 84 26 B 54 87 35 25 82 C 56 78 0 14 13 D 0 23 72 56 14 E 78 12 31
  • 如何使用KDTrees实现最近邻搜索?

    所以 我正在实施一个KD Tree http en wikipedia org wiki Kd tree进行最近邻搜索 我已经构建了树部分 但我认为我没有完全理解搜索部分 关于遍历树来搜索邻居 维基百科文章如下 Starting with

随机推荐

  • Corona SDK 的本地通知 (Android)

    有没有办法在使用 Corona SDK 时实现本地通知 这是 Android 特定的 因为我们已经找到了 iOS 方向 Cheers 目前 Corona 上的本地通知仅适用于 iOS Android 版本尚未完成 完成后 我将按照 Andr
  • 将 Numpy 矩阵显示为视频

    我有一个 numpy 矩阵 其中每一行都是一张图片 我可以重塑行并使用 matplotlib pyplot 显示图像 问题是 我不想单独显示图像 我想像视频一样依次显示它们 这在Python中怎么可能呢 好吧 我不知道这是否是最好的方法 但
  • 包含(大多数)所有元素的 HTML 页面,用于样式设置

    是否有人拥有或知道包含所有元素 带有口语文本或其他内容 的 HTML 页面 我可以做一个 但我想一定有人已经这样做了 当开始一个项目时 我喜欢为链接 列表 表格等设置一些基本样式 包含所有元素的 HTML 页面将帮助我加快此过程 我很乐意创
  • 如何在 iOS 6 中启动具有特定地址的 iOS 地图应用程序?

    我有一个应用程序 允许用户启动地图应用程序 Google 或 Apple 来查看地址 我曾经这样做过 Address address self person addresses objectAtIndex 0 NSString addres
  • 访问页面时自动点击页面上的锚链接

    我之前问过这个问题 但一些专家告诉我补充一下 这可以重新加载给定的链接 但我想知道如何在 id 的帮助下单击元素 锚点 是否有任何代码在执行时会单击 id dp99 并且我希望在访问页面时执行此 javascript 这是 HTML a h
  • Cordova、iOS 和 iframe 不会加载内容,除非我允许访问 href="*"

    我有一个网络应用程序 它有一个嵌入式地图字段 它是使用 iframe 实现的https maps google com https maps google com 我正在将我们的应用程序 当前作为主屏幕图标运行 移植到 iOS 上的 Cor
  • 在 C++ 中将数据从一个线程发送到另一个线程的最快方法是什么?

    我尝试过构建一个简单的生产者 消费者程序的实验 它们在单独的线程中运行 生产者生成一些数据 消费者在另一个线程中获取它 我实现的消息传递延迟约为 100 纳秒 谁能告诉我这是否合理或者是否有更快的实现 我没有使用锁 只是简单的内存计数器 我
  • OpenGL 中的动画 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想请您分享一些关于如何在 OpenGL 应用程序中实现动画支持的想法 例如 如果我们希望在用户输入触发某些事件的情况下 在屏幕上为球
  • 增加 Kafka 消费者在单次轮询中读取的消息数量

    Kafka消费者有一个配置max poll records它控制单次调用 poll 及其返回的最大记录数默认值为 500 https kafka apache org documentation max poll records 我已将其设
  • 如何判断一个点(X,Y)是否包含在圆的弧段内(即饼图切片)?

    想象一个圆圈 想象一下一个馅饼 想象一下 尝试返回一个布尔值 该布尔值确定所提供的 X Y 参数是否包含在这些饼图块之一中 我对弧线的了解 我有 CenterX CenterY 半径 StartingAngle EndingAngle St
  • 如何加快 AWS 设备场上的 Selenium 测试速度?

    我正在使用 Python 在 AWS 设备场上进行测试 看来开始使用硒需要非常非常长的时间 这是我使用的代码 from time import time from boto3 import client from selenium impo
  • 增加 sas 内存/memsize

    您好 有一个包含大约 6000 个观测值和 250 个变量的数据集 我正在尝试使用 proc mix 在 sas 中运行混合模型 但我不断收到 错误 由于内存不足 sas 系统停止处理此步骤 我尝试了康奈尔大学的方法 http www ci
  • 为什么@RequestBody得到一个带有null属性的对象

    我有一个 springboot REST 控制器 其中包含所示的 PATCH 和 PUT 请求方法 由于某种原因 RequestBody 公司 的字段 属性作为空值出现 我缺少什么 我在前端使用 angular8 它正在执行 PATCH 调
  • 在移动网站上禁用 JavaScript

    我的网站上有一个聊天小部件 它占据了手机的整个屏幕 如何在一定宽度的设备 或手机 上禁用聊天设备
  • “可视化页面编辑器对 Windows 64 位提供实验性支持”

    我正在使用 Eclipse Luna 和 JBoss AS 7 当我在 Eclipse 中创建 JSP 页面时 出现以下错误 我将服务器更改为 Tomcat 7 但仍然遇到相同的错误 这是如何引起的以及如何解决 该可视化页面编辑器是JBos
  • 扩展 Javascript Promise 并在构造函数内解析或拒绝它

    我想用 ES6 语法扩展原生 Javascript Promise 类 并且能够在子类构造函数中调用一些异步函数 根据异步函数结果 承诺必须被拒绝或解决 然而 当then函数被称为 子类构造函数执行两次 抛出 未捕获的类型错误 Promis
  • Oracle 中删除和删除清除之间的区别

    我正在使用 Oracle 数据库 但我对删除和清除命令有点困惑 事实上对我来说两者都做同样的事情 从数据库中删除具有架构的表 这两者之间的主要区别是什么 删除表表名 删除表表名清除 通常 如果表被删除 则会将其移至回收站 从 Oracle
  • ScalaTest 可以为所有子项目生成一个 HTML 报告吗?

    我正在尝试使用 ScalaTest 使用 Scala 2 11 0 和 SBT 0 13 x 为具有许多子项目的项目生成单个 HTML 报告 为此 我将以下行放入 build sbt 中 testOptions in ThisBuild T
  • Jetty 11 未检测到 Jakarta Servlet

    这是后续this https stackoverflow com questions 66361859 jetty 11 doesnt detect servlets问题 我不认为这是重复的 因为接受的答案表明 Jetty 11 不能与ja
  • pandas dataframe 在整行中搜索字符串

    我有一个如下所示的熊猫数据框 我想在数据帧的每一行中搜索文本 并突出显示该文本是否出现在该行中 例如 我想在每一行中搜索 jones 我想忽略搜索词的大小写 在下面的情况下 我想向名为 jones 的数据添加一个新列 它的值将是 1 1 0