我在pandas DataFrame中有字符串索引如何通过startswith选择?

Odu*_*van 10 python pandas

在数据框中,我有一个来自列Nation的索引.

但我不能这样做

df[df.Nation.str.startswith('U')]
Run Code Online (Sandbox Code Playgroud)

没有重置索引.

我如何获得索引的str对象?

jez*_*ael 15

使用index哪个适用于strnice:

df[df.index.str.startswith('U')]
Run Code Online (Sandbox Code Playgroud)

样品:

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
Run Code Online (Sandbox Code Playgroud)

如果需要通过选择levelMultiIndex使用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
Run Code Online (Sandbox Code Playgroud)