【问题标题】:I have string index in pandas DataFrame how can I select by startswith?我在 pandas DataFrame 中有字符串索引如何通过startswith 进行选择?
【发布时间】:2017-01-08 18:36:34
【问题描述】:

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

但我做不到

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

不重置索引。

如何获取索引的str对象?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    使用indexstr 很好:

    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
    

    如果需要通过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
    

    【讨论】:

      猜你喜欢
      • 2021-11-08
      • 1970-01-01
      • 2022-06-20
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 2021-11-21
      • 2014-01-01
      相关资源
      最近更新 更多