pandas.DataFrame 按行遍历,以及取出某一行某一列的指定位置的值

超、凢脫俗 2022-10-05 09:55 1272阅读 0赞
  • pandas.DataFrame.loc
  • pandas.DataFrame.iloc

    示例1

    data = pd.DataFrame([[‘Allen_Iverson’, 3], [‘Vince_Carter’, 15], [‘Tracy_McGrady’, 1], [‘Kobe_Bryant’, 8]], columns = [‘Name’, ‘Number’], index = [‘a’, ‘v’, ‘t’, ‘k’])
    ‘’’ Name Number
    a Allen_Iverson 3
    v Vince_Carter 15
    t Tracy_McGrady 1
    k Kobe_Bryant 8
    ‘’’

    示例2

    data = pd.DataFrame([[‘Allen_Iverson’, 3], [‘Vince_Carter’, 15], [‘Tracy_McGrady’, 1], [‘Kobe_Bryant’, 8]], columns = [‘Name’, ‘Number’])
    ‘’’ Name Number
    0 Allen_Iverson 3
    1 Vince_Carter 15
    2 Tracy_McGrady 1
    3 Kobe_Bryant 8
    ‘’’

DataFrame.loc[] 可以通过标签,索引或布尔数组访问某一行

通过标签访问【在创建DataFrame对象时有定义index属性时可用】

  1. # 引用示例1
  2. data.loc['a']
  3. '''
  4. Name Allen_Iverson
  5. Number 3
  6. Name: a, dtype: object
  7. '''
  8. # 获取属性‘Name’
  9. data.loc['v']['Name']
  10. '''
  11. 'Vince_Carter'
  12. '''
  13. data.loc['v', 'Name']
  14. '''
  15. 'Vince_Carter'
  16. '''

通过索引访问

  1. data.loc[2]
  2. '''
  3. Name Tracy_McGrady
  4. Number 1
  5. Name: 2, dtype: object
  6. '''
  7. # 如果想要获取‘Name'属性的值,可以直接在表达式后面加上['属性名'],如下
  8. data.loc[2]['Name']
  9. '''
  10. 'Tracy_McGrady'
  11. '''
  12. data.loc[1, 'Name']
  13. '''
  14. 'Vince_Carter'
  15. '''

通过布尔值获取某些符合条件的行

  1. # 比如获取号码大于5的数据行
  2. data.loc[data['Number'] > 5]
  3. '''
  4. Name Number
  5. 1 Vince_Carter 15
  6. 3 Kobe_Bryant 8
  7. '''
  8. # 如果想要获取‘Name'属性的值,可以直接在表达式后面加上['属性名'],如下
  9. data.loc[data['Number'] > 5]['Name']
  10. '''
  11. 1 Vince_Carter
  12. 3 Kobe_Bryant
  13. Name: Name, dtype: object
  14. '''

DataFrame.iloc[] 访问当前数据排序的第几行

  1. #对示例2按属性‘Number’升序排序,得:
  2. # 示例3
  3. data = data.sort_values('Number')
  4. ''' Name Number
  5. 2 Tracy_McGrady 1
  6. 0 Allen_Iverson 3
  7. 3 Kobe_Bryant 8
  8. 1 Vince_Carter 15
  9. '''
  10. # 获取当前排序的第1行 索引从0开始
  11. data.iloc[1]
  12. '''
  13. Name Allen_Iverson
  14. Number 3
  15. Name: 0, dtype: object
  16. '''
  17. # 获取当前排序的前两行
  18. data.iloc[0:2]
  19. '''
  20. Name Number
  21. 2 Tracy_McGrady 1
  22. 0 Allen_Iverson 3
  23. '''

发表评论

表情:
评论列表 (有 0 条评论,1272人围观)

还没有评论,来说两句吧...

相关阅读