首页 文章

按标签Pandas按整数和列访问行

提问于
浏览
4

我的数据是这样的:

[第一行是 Headers ]

Name,Email,Age
Sachith,ko@gmail.com,23
Sim,sm@gmail.com,234
Yoshi,yosi@hotmail.com,2345
sarla,sarla@gmail.com,234

我想访问元素,使行按标签指定为整数和列 . 即对于Sim我想以[1,'Name']等方式访问它

我的问题是我应该使用 loc 还是 ix

看看文档,我对什么是熊猫索引感到困惑?它是用于访问行还是列或两者?当我尝试打印这些数据的索引时,我得到一个(4,)dtype = int64数组[0,1,2,3] . 那么,列不是索引的一部分吗?

1 回答

  • 6

    使用lociloc,因为 ixdeprecated .

    print (df)
          Name             Email   Age
    0  Sachith      ko@gmail.com    23
    1      Sim      sm@gmail.com   234
    2    Yoshi  yosi@hotmail.com  2345
    3    sarla   sarla@gmail.com   234
    
    #select by label 1 and label Name    
    a = df.loc[1, 'Name']
    print (a)
    Sim
    

    但是如果需要选择索引按位置(需要 iloc )和列标签(需要 loc ):

    df = df.set_index('Email')
    print (df)
                         Name   Age
    Email                          
    ko@gmail.com      Sachith    23
    sm@gmail.com          Sim   234
    yosi@hotmail.com    Yoshi  2345
    sarla@gmail.com     sarla   234
    

    通过 df.index[1] 获取第二个索引的标签:

    a = df.loc[df.index[1], 'Name']
    print (a)
    Sim
    

    或者通过get_loc获取标签的位置:

    a = df.iloc[1, df.columns.get_loc('Name')]
    print (a)
    Sim
    

相关问题