如何使用Pandas获取包含特定列中某个值的数据框中的行数?例如,我有以下数据帧:
ClientID LastName
0 34 Johnson
1 67 Smith
2 53 Brows
Run Code Online (Sandbox Code Playgroud)
如何在"LastName"列中找到"Smith"行的编号?
joe*_*lom 35
获得与'Smith'匹配的所有指数
>>> df.loc[df['LastName']=='Smith'].index
Int64Index([1], dtype='int64')
Run Code Online (Sandbox Code Playgroud)
要么
>>> df.loc[df['LastName']=='Smith'].index.values
array([1])
Run Code Online (Sandbox Code Playgroud)
或者如果只有一个,你想要整数,只需要子集
>>> df.loc[df['LastName']=='Smith'].index[0]
1
Run Code Online (Sandbox Code Playgroud)
df.index[df.LastName == 'Smith']
Run Code Online (Sandbox Code Playgroud)
要么
df.query('LastName == "Smith"').index
Run Code Online (Sandbox Code Playgroud)
将返回所有行索引,其中LastName为Smith
Int64Index([1], dtype='int64')
Run Code Online (Sandbox Code Playgroud)
df.loc[df.LastName == 'Smith']
Run Code Online (Sandbox Code Playgroud)
将返回行
ClientID LastName
1 67 Smith
Run Code Online (Sandbox Code Playgroud)
和
df.loc[df.LastName == 'Smith'].index
Run Code Online (Sandbox Code Playgroud)
将返回索引
Int64Index([1], dtype='int64')
Run Code Online (Sandbox Code Playgroud)
注意:列名称“LastName”和“Last Name”甚至“lastname”是三个唯一名称。最佳做法是首先使用 df.columns 检查确切的名称。如果你真的需要去掉所有空格的列名,你可以先做
df.columns = [x.strip().replace(' ', '') for x in df.columns]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83954 次 |
| 最近记录: |