如何在Pandas中获取数据框中的行数?

如何使用Pandas获得数据框架中某一列中包含某一数值的行的数量?例如,我有以下的数据框架:

     ClientID  LastName
0    34        Johnson
1    67        Smith
2    53        Brows  

我怎样才能找到在'LastName'列中有'Smith'的那一行的编号?

解决办法

要获得所有符合'Smith&#39的指数;

>>> df.loc[df['LastName']=='Smith'].index
Int64Index([1], dtype='int64')

>>> df.loc[df['LastName']=='Smith'].index.values
array([1])

或者,如果只有一个,而你想要的是整数,只需将子集

>>> df.loc[df['LastName']=='Smith'].index[0]
1
评论(0)
df.index[df.LastName == 'Smith']

df.query('LastName == "Smith"').index

将返回所有 "LastName "为 "Smith "的行索引。

Int64Index([1], dtype='int64')
评论(2)
df.loc[df.LastName == 'Smith']

将返回该行

    ClientID    LastName
1   67          Smith

df.loc[df.LastName == 'Smith'].index

将返回索引

Int64Index([1], dtype='int64')

注意:列名'LastName'和'Last Name'甚至是'lastname'是三个唯一的名字。最好的做法是先用df.columns检查准确的名称。如果你真的需要去除列名中的所有空格,你可以先做

df.columns = [x.strip().replace(' ', '') for x in df.columns]
评论(4)