【问题标题】:Calling data frame values by index name [duplicate]按索引名称调用数据框值[重复]
【发布时间】:2020-11-15 19:27:57
【问题描述】:

我有这个数据框:

index
name    a     b
1-1     1     2
1-2     2     4
5-1     3     6
5-2     4     8
7-1     5     4
7-2     6     5

我只想调用以 'index name' = 5 开头的值

index
name     a     b
5-1      3     6
5-2      4     8

我试过了:

df = df.loc['index name'] == 5 

但我得到 SyntaxError: invalid token

有什么建议吗?谢谢!

编辑

如果“索引名称”是一列,它适用于:

df = df.loc[df['your column'] == 5]

但是,如果 'index name' 是一个索引,它就不起作用。

编辑 2

如果“索引名称”是索引,它适用于:

df.loc[df.index.str.startswith('5')]

【问题讨论】:

    标签: python pandas dataframe pandas-loc


    【解决方案1】:
    df.loc[df["index name"].str.startswith("5")]
    
        index name  a   b
    2   5-1         3   6
    3   5-2         4   8
    

    【讨论】:

    • 谢谢,如果 'index name' 是一列,这个 工作。但是,如果“索引名称”是索引,则它不起作用。
    • with 我仍然得到
    • @Jack_T 如果您的列是索引,请尝试:df.loc[df.index.str.startswith("5")]
    • 感谢它的工作!但是更改“index_name”时还有另一个问题。请查看编辑 2,谢谢!
    • @Jack_T,不妨试试df.loc[df.index.str.startswith("5|7")]df.loc[df.index.str.contains("^5|^7")]
    猜你喜欢
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2019-06-15
    • 1970-01-01
    • 2013-12-30
    • 2015-09-08
    • 1970-01-01
    相关资源
    最近更新 更多