首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在python中,有任何方法可以从dataframe中搜索模式并提取其对应值吗?

在python中,有任何方法可以从dataframe中搜索模式并提取其对应值吗?
EN

Stack Overflow用户
提问于 2016-12-11 22:56:56
回答 2查看 61关注 0票数 1

我有一个像这样的数据仓库。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     Area of Power Cons.           Device Name  2016-09-02   2016-09-03  
0   01.11KVA VCB-I South  SJ 11 South Zone Con    32328.19     33157.12   
1   02.11KVA VCB-II Sout  SJ 11 South Zone Con    43879.94     45152.77   
2   03.11 KVA VCB-I Nort  SJ 11 North Zone Con    30132.74     29507.58   
3   04.11 KVA VCB-II Nor  SJ 11 North Zone Con    38632.45 -16448377.89   
4   05.MAIN INCOMER-I So  SJ 11 South Zone Con    31509.76     32313.60   
5   06.MAIN INCOMER-II S  SJ 11 South Zone Con    42617.22     43841.66   
6   07.MAIN INCOMER-I No  SJ 11 North Zone Con    29284.61     28673.92   
7   08.MAIN INCOMER II N  SJ 11 North Zone Con    37391.87     36786.43   
8     22.BLOW ROOM South  SJ 11 South Zone Con     1909.47      1908.40   
9     23.BLOW ROOM North  SJ 11 North Zone Con     1437.14      1369.04   
10      24.CARDING South  SJ 11 South Zone Con     3962.26      3989.94   
11      25.CARDING-North  SJ 11 North Zone Con     3970.63      3706.69   
12   26.PREPRATORY-South  SJ 11 South Zone Con     2456.72      2576.88   
13   27.PREPRATORY-North  SJ 11 North Zone Con     2372.61      2376.38   
14     28.RING FRAME 1-5  SJ 11 South Zone Con     7384.83      7595.06   
15    29.RING FRAME 6-10  SJ 11 South Zone Con     7111.55      7313.15   
16   30.RING FRAME 11-15  SJ 11 South Zone Con     6821.89      7209.26   
17   31.RING FRAME 16-20  SJ 11 South Zone Con     6049.12      6425.47   
18   32.RING FRAME 21-25  SJ 11 North Zone Con     6481.04      6070.30   
19   33.RING FRAME 26-30  SJ 11 North Zone Con     6471.42      6160.90   
20   34.RING FRAME 31-35  SJ 11 North Zone Con     6619.86      6520.43   
21   35.RING FRAME 36-40  SJ 11 North Zone Con     6200.00      6200.00   
22    35.LINC CONER 1-10  SJ 11 South Zone Con     2292.18      2348.64   
23   36.LINC CONER 11-20  SJ 11 South Zone Con     2905.96      2943.62   
24   37.LINC CONER 21-30  SJ 11 North Zone Con     2181.58      2118.38   
25   38.LINC CONER 31-40  SJ 11 North Zone Con     2752.92      2763.26 

我想搜索包含Ring Frame的行并获取其各自的值。

我试过这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = data[15:22]

但我想找出名字。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-11 22:58:38

您可以在掩码中使用boolean indexing,其中首先将所有值转换为lower,然后使用contains

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print (df[df['Area of Power Cons.'].str.lower().str.contains('ring frame', na=False)])

使用apply的另一种解决方案,但只有在不使用NaN值的情况下才能工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print (df[df['Area of Power Cons.'].apply(lambda x: 'ring frame' in x.lower())])

如果需要提取值,请使用str.extract

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print (df['Area of Power Cons.'].str.lower().str.extract('ring frame (.*)'))

如果所有值都大写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print (df['Area of Power Cons.'].str.extract('RING FRAME (.*)'))
票数 3
EN

Stack Overflow用户

发布于 2016-12-11 23:13:37

我认为正则表达式在这里也会有帮助。您可以指定使用它进行搜索的规则。

例如,您可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import re 
m = re.search('*RING FRAME*')
m.group(0)

请注意,*通配符是“贪婪的”,因此它将考虑到所有先前的和后续的符号。我不知道您是如何存储字符串的,以及它们是否分开,但是您可以尝试使用re。顺便说一句,它们是重要的蟒蛇技能(尽管我自己还没有经常使用它们)。

您可以在官方python:https://docs.python.org/2/library/re.html中找到关于正则表达式的更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41095576

复制
相关文章
scrapy 传参
当爬虫上线时难免会希望动态传参,下面跟着小二一起学传参吧,喽喽喽! 直接上代码: 自己写的spider class MWMSpider(scrapy.Spider): name = 'mwm_flowers_spider' def __init__(self, **kwargs): self.city_name = kwargs['city_name'] self.run_time = kwargs['run_time'] self
shengjk1
2018/10/24
1.7K0
linux如何将输出重定向到文件和标准输出
调用ls -al > rumenz.txt会将来自该命令的任何输出重定向到指定的文件,有没有办法将输出重定向到文件并将其显示在标准输出上? > ls -al > rumenz.txt 上面的命令执行后,数据被输入到rumenz.txt文件,屏幕没有任何输出,如果既想输入到文件又想输入到屏幕,请使用如下的方法. 使用tee 如果您只关心标准输出 > ls -al | tee rumenz.txt 如果要包含 stderr,请执行以下操作,会覆盖之前的数据 > ls -al 2>&1 | tee rumen
入门笔记
2022/06/02
5.4K0
linux如何将输出重定向到文件和标准输出
原文链接:https://rumenz.com/rumenbiji/linux-file-stdin-stdout.html
入门笔记
2021/11/26
5.1K0
Qmake设置输出文件路径与名字
通过设置Qt项目文件来设置程序/库的生成路径与名字。 设置输出名字 Test为设置输出名字; 如果是执行文件则自动为程序添加后缀(.exe),如果是库文件则自动为库添加后缀(.dll)和 libxxx.a(这里是 libTest.a)名字。 TARGET = Test 设置输出路径 输出为 .pro项目所在的Test目录下。 $$PWD意思为当前目录。 DESTDIR = $$PWD/Test 另外 TEMPLATE = app # 设置为执行文件工程TEMPLATE = lib # 设置为库文件工程
Qt君
2019/07/15
3.4K0
如何将多个参数传递给 React 中的 onChange?
在 React 中,一些 HTML 元素,比如 input 和 textarea,具有 onChange 事件。onChange 事件是一个非常有用、非常常见的事件,用于捕获输入框中的文本变化。有时候,我们需要将多个参数同时传递给 onChange 事件处理函数,在本文中,我们将介绍如何实现这一目标。
网络技术联盟站
2023/06/07
2.7K0
ls按时间排序输出文件列表
ls按时间排序输出文件列表 首先,ls --help查看ls相关的与时间排序相关的参数: > ls --help|grep -E "time|sort" 如果不指定 -cftuSUX 或 --sort 任何一个选项,则根据字母大小排序。   -c                         配合 -lt:根据 ctime 排序及显示 ctime (文件                                配合 -l:显示 ctime 但根据名称排序                      
joshua317
2018/04/13
1.3K0
如何将 Linux 命令输出重定向到文件?
在Linux系统中,命令行是非常强大和灵活的工具。它允许我们执行各种任务和操作,包括将命令的输出保存到文件中。本文将介绍如何使用重定向操作符将Linux命令的输出导入到文件中,并列举尽可能多的命令示例。
网络技术联盟站
2023/07/14
1.7K0
如何将 Linux 命令输出重定向到文件?
如何将 Linux 命令输出重定向到文件?
在Linux系统中,命令行是非常强大和灵活的工具。它允许我们执行各种任务和操作,包括将命令的输出保存到文件中。本文将介绍如何使用重定向操作符将Linux命令的输出导入到文件中,并列举尽可能多的命令示例。
网络技术联盟站
2023/08/03
1.9K0
如何将 Linux 命令输出重定向到文件?
Vue 中,如何将函数作为 props 传递给组件
作者:Michael Thiessen 译者:前端小智 来源:medium 点赞再看,养成习惯本文 GitHub https://github.com/qq44924588... 上已经收录,更多往
前端小智@大迁世界
2020/05/18
8.2K0
Scrapy输出中文保存中文
scrapy在保存json文件时容易乱码 settings.py文件改动: ITEM_PIPELINES = { 'tutorial.pipelines.TutorialPipeline': 300, } pipeline.py文件改动: import json import codecs class TutorialPipeline(object): def __init__(self, spider): self.file = codecs.open('data_cn
林清猫耳
2019/03/04
2.8K0
python中如何定义函数的传入参数是option的_如何将几个参数列表传递给@ click.option…
如果通过使用自定义选项类将列表格式化为python列表的字符串文字,则可以强制单击以获取多个列表参数:
Java架构师必看
2021/08/23
7.7K0
msbuild 修改 VisualStudio 文件复制到输出目录的路径
在默认的 VisualStudio 可以右击任意的文件,让这个文件在编译时复制到输出目录,但是这个选项将会在复制到输出目录时带上这个文件所在 VisualStudio 的文件夹结构。本文告诉大家几个方法让 VisualStudio 的文件可以在编译时输出到自定义的任意路径
林德熙
2020/02/17
3.6K1
力学概念| 直接传力路径
力的自然属性是尽快传到支座。因此,只要有可能,主要传力路径就是接地的直杆。来看下面的例子。
fem178
2023/09/21
8800
力学概念| 直接传力路径
手把手教你用Python实现分布式爬虫(四) - scrapy爬取技术文章网站
搭建scrapy的开发环境,本文介绍scrapy的常用命令以及工程目录结构分析,本文中也会详细的讲解xpath和css选择器的使用。然后通过scrapy提供的spider完成所有文章的爬取。然后详细讲解item以及item loader方式完成具体字段的提取后使用scrapy提供的pipeline分别将数据保存到json文件以及mysql数据库中.
JavaEdge
2019/03/25
1.8K0
Python分布式爬虫框架Scrapy 打造搜索引擎(四) - 爬取博客网站
搭建scrapy的开发环境,本文介绍scrapy的常用命令以及工程目录结构分析,本文中也会详细的讲解xpath和css选择器的使用。然后通过scrapy提供的spider完成所有文章的爬取。然后详细讲解item以及item loader方式完成具体字段的提取后使用scrapy提供的pipeline分别将数据保存到json文件以及mysql数据库中.
JavaEdge
2022/12/15
1.1K2
Python分布式爬虫框架Scrapy 打造搜索引擎(四) - 爬取博客网站
python 列表list输出形式
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
用户7886150
2021/01/09
1.5K0
vue 中路径props的传参
第一种:单一参数 { path: '/news/:id', //模板props中也需要是id props:true, name:news, component: news } 第二种:多个参数 { path: '/news/:id', props:function(route){ console.log(route); return { id:route.params.id, username:route
青梅煮码
2023/03/02
4350
vue 中路径props的传参
python接口测试:如何将A接口的返回值传递给B接口
一种方式是可以通过数据库来获取,但是通过这次接口测试,我发现读取数据库有一个缺点:速度慢
冰霜
2022/03/15
2K0
React篇(029)-如何将参数传递给事件处理程序或回调函数?
你可以使用箭头函数来包装事件处理器并传递参数: <button onClick={() => this.handleClick(id)} /> 这相当于调用 .bind: <button onClick={this.handleClick.bind(this, id)} />
齐丶先丶森
2022/05/12
3.7K0
点击加载更多

相似问题

如何允许wget递归下载整个目录而不是"index.html“文件

10

用wget下载

20

指定wget下载到

20

wget下载Ubuntu Repo

10

wget无法下载映像

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文