【发布时间】:2016-10-20 07:54:53
【问题描述】:
我有一个 pandas DataFrame 包含年份和标题。其中一些rows.name 是Batman、Catman 等。我正在尝试使用以下表达式获取格式为.*man 的所有行:
这失败了。有没有一种惯用的方法来实现这一点?
【问题讨论】:
我有一个 pandas DataFrame 包含年份和标题。其中一些rows.name 是Batman、Catman 等。我正在尝试使用以下表达式获取格式为.*man 的所有行:
这失败了。有没有一种惯用的方法来实现这一点?
【问题讨论】:
t[t.title & (t.title[-3:] == 'man')]
【讨论】:
def select_(t): return t.title[-3:] == 'man' 然后 t[t.title & select_(t)]。当您需要更复杂的选择时,只需更改 select_
使用str.contains:df[df['title'].str.contains('.man')]。
【讨论】:
以下解决方案有效
df.ix[[x for x in df.index if re.search(r'.*e.*', x)]]灵感来自 || Pandas - filter and regex search the index of DataFrame
【讨论】: