python - 如何在索引列上使用正则表达式选择数据框行?

标签 python pandas dataframe

我是 Pandas 新手。 这是一个例子的问题

df = pd.DataFrame(data={'id':['john','joe','zack']})

我知道我可以像这样选择“id”列包含“jo”的行

mask = df['id'].str.contains('jo')
df[mask]

但是假设 id 列被索引了

df = df.set_index('id')

现在如何选择索引列包含“jo”的行?

最佳答案

您需要将id 更改为index:

df = pd.DataFrame(data={'id':['john','joe','zack'],
                        'col':[1,2,3]})

df = df.set_index('id')
df1 = df[df.index.str.contains('jo')]
print (df1)
      col
id       
john    1
joe     2

关于python - 如何在索引列上使用正则表达式选择数据框行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55085558/

相关文章:

python - Seaborn 箱线图水平线注释

python - 多线程写入文件

python - 将版本号表示为正则表达式

python - 水平向前填充 Pandas Dataframe(沿行),而不向前填充每行中的最后一个值

python - 如何合并多个 Pandas 数据框列

python - 如何使用 sphinx-apidoc 记录 Python 函数参数?

python - 如何根据另一个数据框中的变量从数据框中选择列

Python Pandas - 为什么 `in` 运算符适用于索引而不适用于数据?

python - 如果索引不同,如何停止在 Pandas 中移动列

python - HDFStore 获取列名称