我在pandas DataFrame中有字符串索引,如何通过startswith选择? [英] I have string index in pandas DataFrame how can I select by startswith?

查看:843
本文介绍了我在pandas DataFrame中有字符串索引,如何通过startswith选择?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在数据框中,我有Nation列的索引.

In dataframe I have an index from column Nation.

但是我做不到

df[df.Nation.str.startswith('U')]

没有重置索引.

如何获取索引的str对象?

How can I get str object of index?

推荐答案

使用与str nice配合使用的index:

Use index which works with str nice:

df[df.index.str.startswith('U')]

示例:

df = pd.DataFrame({'Nation':['Uw','A', 'Ur'],
                   'A':[2,3,5],
                   'Z':[4,5,6]})


df = df.set_index(['Nation'])
print (df)
        A  Z
Nation      
Uw      2  4
A       3  5
Ur      5  6

print (df[df.index.str.startswith('U')])
        A  Z
Nation      
Uw      2  4
Ur      5  6

如果需要通过MultiIndexlevel选择,请使用

If need select by level of MultiIndex use get_level_values:

df = df.set_index(['Nation', 'A'])
print (df)
          Z
Nation A   
Uw     2  4
A      3  5
Ur     5  6

print (df[df.index.get_level_values('Nation').str.startswith('U')])
          Z
Nation A   
Uw     2  4
Ur     5  6

这篇关于我在pandas DataFrame中有字符串索引,如何通过startswith选择?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆