如何使用Pandas获取某个列中包含特定值的数据框中的行数?例如,我有以下数据框:如何获取熊猫数据框中的行号?
ClientID LastName
0 34 Johnson
1 67 Smith
2 53 Brows
如何查找在'LastName'列中具有'Smith'的行的编号?
如何使用Pandas获取某个列中包含特定值的数据框中的行数?例如,我有以下数据框:如何获取熊猫数据框中的行号?
ClientID LastName
0 34 Johnson
1 67 Smith
2 53 Brows
如何查找在'LastName'列中具有'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
将返回所有行索引,其中LastName
是Smith
Int64Index([1], dtype='int64')
df.index完美。谢谢。 – Simon
df.loc[df.LastName == 'Smith']
将返回该行
ClientID LastName
1 67 Smith
和
df.loc[df.LastName == 'Smith'].index
将返回指数
Int64Index([1], dtype='int64')
注:列名“姓氏”和“姓氏”甚至“姓”三个唯一的名称。最佳做法是首先使用df.columns检查确切的名称。如果你真的需要剥离所有的空格的列名,你可以先做
df.columns = [x.strip().replace(' ', '') for x in df.columns]
count_smiths = (df['LastName'] == 'Smith').sum()
这将返回包含姓氏“Smith”的行的总数,而不是个别行号。 –
试试这个:'df.LastName.eq(“史密斯”)和()' – MaxU
@MaxU这将返回包含姓氏“Smith”的行的总数,而不是单个行号。 –
终于!!!我发现了这个问题。几个月以来,我一直在努力解决这个问题。 –