我有一个 DataFrame,其中列是 MultiIndex,索引是名称列表,即index=['Andrew', 'Bob', 'Calvin',...]
.
我想创建一个函数来返回数据帧中使用名称“Bob”或以字母“A”开头或以小写字母开头的所有行。如何才能做到这一点?
我调查了df.filter()
使用正则表达式参数,但它失败了,我得到:
df.filter(regex='a')
TypeError: expected string or buffer
or:
df.filter(regex=('a',1)
TypeError: first argument must be string or compiled pattern
我尝试过其他事情,例如通过re.compile('a')
无济于事。
所以这看起来像是我的问题的一部分filter
是我使用的是过时版本的 pandas。更新后我不再收到TypeError
。经过一番尝试后,看起来我可以使用filter
以满足我的需要。这是我发现的。
简单设定df.filter(regex='string')
将返回与正则表达式匹配的列。这看起来与做同样的事情df.filter(regex='string', axis=1)
.
要搜索索引,我只需要做df.filter(regex='string', axis=0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)