如何在Pandas中获取dataframe中的行号?

2024-10-01 04:55:27 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用Pandas获取包含特定列中特定值的数据帧中的行数?例如,我有以下数据帧:

     ClientID  LastName
0    34        Johnson
1    67        Smith
2    53        Brows  

如何在“LastName”列中找到具有“Smith”的行的编号?


Tags: 数据pandas编号smithclientidlastnamejohnsonbrows
3条回答

获取与“Smith”匹配的所有索引

>>> 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
df.index[df.LastName == 'Smith']

或者

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

将返回所有行索引,其中LastNameSmith

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

将返回行

    ClientID    LastName
1   67          Smith

以及

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

将返回索引

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

注意:列名“Last Name”和“LastName”甚至“LastName”是三个唯一的名称。最佳实践是首先使用df.columns检查确切的名称。如果您真的需要去掉所有空格的列名,可以首先

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

相关问题 更多 >