【发布时间】:2017-01-08 18:36:34
【问题描述】:
在数据框中,我有一个来自 Nation 列的索引。
但我做不到
df[df.Nation.str.startswith('U')]
不重置索引。
如何获取索引的str对象?
【问题讨论】:
在数据框中,我有一个来自 Nation 列的索引。
但我做不到
df[df.Nation.str.startswith('U')]
不重置索引。
如何获取索引的str对象?
【问题讨论】:
使用index 与str 很好:
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
如果需要通过level 或MultiIndex 选择,请使用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
【讨论】: