如何获取 pandas dataframe 中的行号
通常,您可能希望获取 pandas DataFrame 中包含特定值的行号。
幸运的是,使用.index函数可以轻松做到这一点。
本教程展示了此功能实际使用的几个示例。
示例1:获取某个值对应的行号
假设我们有以下 pandas DataFrame:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']}) #view DataFrame print (df) team assists points 0 25 5 Mavs 1 12 7 Mavs 2 15 7 Spurs 3 14 9 Celtics 4 19 12 Warriors
我们可以使用以下语法来获取“team”等于 Mavs 的行号:
#get row numbers where 'team' is equal to Mavs df[df[' team '] == ' Mavs ']. index Int64Index([0, 1], dtype='int64')
我们可以看到,在行索引0和1处,球队名称等于“Mavs”。
我们还可以获取在某个团队名称列表中找到该团队名称的行号:
#get row numbers where 'team' is equal to Mavs or Spurs filter_list = [' Mavs ', ' Spurs '] #return only rows where team is in the list of team names df[df. team . isin (filter_list)]. index Int64Index([0, 1, 2], dtype='int64')
我们可以看到行索引0 、 1和2处的球队名称等于“Mavs”或“Spurs”。
示例2:获取唯一的行号
假设我们有以下 pandas DataFrame:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})
如果您知道单个行与某个值匹配,则可以使用以下语法检索该唯一行号:
#get the row number where team is equal to Celtics df[df[' team '] == ' Celtics ']. index [ 0 ] 3
我们可以看到该球队等于行索引号3处的“Celtics”。
示例3:获取行号之和
假设我们有以下 pandas DataFrame:
import pandas as pd #createDataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})
如果您想知道某列等于某个值的总行数,可以使用以下语法:
#find total number of rows where team is equal to Mavs len (df[df[' team '] == ' Celtics ']. index ) 2
我们可以看到,这支球队总共有2 条线等于“小牛”。
其他资源
以下教程解释了如何在 pandas 中执行其他常见任务:
如何在Pandas中查找多列中的唯一值
如何根据多个条件过滤 Pandas DataFrame
如何计算 Pandas DataFrame 中的缺失值