【发布时间】:2018-02-06 04:06:30
【问题描述】:
假设我有一个 pandas 数据框,其单元格中包含字符串内容。
找到与特定正则表达式匹配的字符串然后返回元组列表及其各自的行和列索引的最佳方法是什么?
即,
import pandas as pd
mydf = pd.DataFrame({'a':['hello', 'world'], 'b': ['hello', 'folks']})
def findIndex(mydf, regex):
return regex_indexes
如果我这样做:
regex = r"hello"
findIndex(mydf, regex) # it'd return [(0,0), (0,1)],
如果我这样做:
regex = r"matt"
findIndex(mydf, regex) # it'd return [(-1,-1)],
如果我这样做:
regex = r"folks"
findIndex(mydf, regex) # it'd return [(1,1)],
我可以在 pd.DataFrame 上做一个双 for 循环,但想知道其他想法是否更好......
【问题讨论】:
-
不需要双循环。
None不匹配不是更好吗? -
@AntonvBR 好电话,是的 None 也可以工作,可能是一个更好的主意