千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 详解DataFrame.loc

详解DataFrame.loc

来源:千锋教育
发布人:xqq
时间: 2023-11-23 19:40:28 1700739628

一、用途与特点

DataFrame是Pandas中最重要的数据结构之一,而DataFrame.loc则是对于DataFrame进行行列选取的一种方法。它通过行标签名和列标签名进行数据选取。

相对于其他方法,DataFrame.loc具有更高的灵活性和准确性。与iloc根据行列的位置来进行选取不同,使用loc可以根据行列的标签名称来进行选取。并且在同时进行行列选取时,使用loc的效率更高。


    # 用于基于标签的索引(即行列标签)进行选择
    # df.loc[row, column]
    # row可以是行标签也可以是布尔数组,column可以是列标签也可以是布尔数组

二、基本用法

选择某些列:


    import pandas as pd
    import numpy as np

    df = pd.DataFrame(np.random.randn(6,4), columns=list('ABCD'), index=list('abcdef'))

    # 根据标签获取列数据
    print(df.loc[:, ['A', 'B']])

选择某些行:


    # 根据标签获取行数据
    print(df.loc[['a', 'b', 'f'], :])

选择某个区域的数据:


    # 根据标签获取行和列的区域数据
    print(df.loc['d':'f', 'A':'C'])

三、高级用法

布尔索引

在DataFrame.loc中使用布尔值可以进行高级筛选。


    # 布尔索引
    df.loc[df['A'] > 0, ['A','B']]

使用函数进行映射

在DataFrame中使用applymap或apply方法可以对数据进行转换。在.loc后使用,我们可以完成数据筛选和转换的一步操作。


    # 对筛选出来的数据进行applymap的map函数映射操作
    df.loc[df['A'] > 0, ['A','B']].applymap(lambda x: x*2)

使用where方法

使用where方法进行条件筛选。对于筛选为False的数据,其对应位置上的数据会被填充为NaN。


    # 对q值保留填充,而对于其他的行列标签均标记为NaN
    df.loc[df['A'] > 0, 'B'] = np.nan
    df.where(pd.notna(df), df.mean(), axis='columns')

四、总结

本文基于DataFrame的高级索引方法DataFrame.loc进行了详细讲解,介绍了其基本使用方法和高级应用方法。

对于Pandas用户而言,熟悉DataFrame.loc的使用方法可以帮助我们更加灵活地对数据进行筛选和转换。它是我们使用Pandas解决数据分析和处理问题的重要方法。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT