如何使用 Pandas 获取数据框中包含特定列中特定值的行数?例如,我有以下数据框:
ClientID LastName
0 34 Johnson
1 67 Smith
2 53 Brows
如何找到“LastName”列中包含“Smith”的行号?
原文由 sprogissd 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何使用 Pandas 获取数据框中包含特定列中特定值的行数?例如,我有以下数据框:
ClientID LastName
0 34 Johnson
1 67 Smith
2 53 Brows
如何找到“LastName”列中包含“Smith”的行号?
原文由 sprogissd 发布,翻译遵循 CC BY-SA 4.0 许可协议
df.index[df.LastName == 'Smith']
要么
df.query('LastName == "Smith"').index
将返回所有行索引,其中 LastName
是 Smith
Int64Index([1], dtype='int64')
原文由 piRSquared 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答860 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
请注意,数据框的索引可能是无序的,甚至根本不是数字。如果您不想使用当前索引而是按顺序对行重新编号,则可以使用
df.reset_index()
以及以下建议获取所有匹配 ‘Smith’ 的索引
或者作为一个 numpy 数组
或者如果只有一个而你想要整数,你可以子集
您可以将相同的布尔表达式与
.loc
一起使用,但除非您还想选择某个列,否则不需要它,当您只需要行号/索引时,这是多余的。