最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python之loc與iloc的用法及說明

 更新時間:2025年06月27日 09:02:06   作者:我不是少爺.  
這篇文章主要介紹了python之loc與iloc的用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

loc 是 Pandas 中用于 基于標簽(label-based)的索引選擇方法,專門用于按行/列標簽精準定位和操作 DataFrame 或 Series 中的數(shù)據(jù)。

以下是詳細解析:

一、核心功能

1. 基本語法

df.loc[行標簽選擇, 列標簽選擇]
  • 行標簽選擇:可以是單個標簽、標簽列表、切片(如 "a":"d")或布爾條件
  • 列標簽選擇:同上,支持標簽篩選

2. 特性

  • 標簽優(yōu)先:索引基于行/列的名稱(字符串或數(shù)字標簽),而非位置
  • 閉區(qū)間:切片包含起始和結束標簽(與 Python 常規(guī)切片不同)
  • 支持高級操作:布爾索引、條件過濾、函數(shù)調(diào)用等

二、典型使用場景

1. 精確提取單值

# 獲取行標簽為2,列標簽為'Age'的值
df.loc[2, 'Age'] 

2. 選擇行范圍 + 多列

# 選取行標簽從'user1'到'user3',列標簽'Name'和'Score'
df.loc['user1':'user3', ['Name', 'Score']]

3. 條件篩選

# 選擇所有年齡大于30的行,并顯示'City'列
df.loc[df['Age'] > 30, 'City']

4. 修改數(shù)據(jù)

# 將行標簽為5的'Status'列值改為'active'
df.loc[5, 'Status'] = 'active'

三、與 iloc 的對比

特性lociloc
索引類型標簽(字符串或數(shù)字)純整數(shù)位置(0-based)
切片區(qū)間閉區(qū)間(包含兩端)左閉右開(Python 標準切片)
允許輸入類型標簽、布爾數(shù)組、條件表達式整數(shù)、整數(shù)列表、整數(shù)切片
示例df.loc['a':'c', 'Name']df.iloc[0:3, 1]

四、避坑指南

1. 避免鏈式賦值

# ? 可能引發(fā) SettingWithCopyWarning
df['Age'][df['Name'] == 'Alice'] = 25  

# ? 規(guī)范寫法
df.loc[df['Name'] == 'Alice', 'Age'] = 25

2. 處理混合索引

當 DataFrame 的索引是整數(shù)時,lociloc 可能產(chǎn)生歧義:

df = pd.DataFrame({'A': [1,2,3]}, index=[10, 20, 30])

# 按標簽選擇(查找標簽為1的行)
df.loc[10]   # ? 返回第10標簽行

# 按位置選擇(查找第0行)
df.iloc[0]   # ? 返回第10標簽行(位置0)

五、高級用法示例

1. 使用函數(shù)篩選

# 選擇索引以'2023'開頭的行
df.loc[lambda x: x.index.str.startswith('2023')]

2. 多條件復合篩選

# 選擇年齡在20-30歲且城市為北京的行
df.loc[(df['Age'] >= 20) & (df['City'] == '北京')]

3. 跨列計算賦值

# 當Score列大于90時,Status設為'A+'
df.loc[df['Score'] > 90, 'Status'] = 'A+'

六、總結

  • 核心作用:基于標簽精準操作數(shù)據(jù)(查、改、刪)
  • 優(yōu)勢:代碼可讀性高,支持復雜條件篩選
  • 適用場景:數(shù)據(jù)清洗、條件篩選、動態(tài)計算等
# 典型工作流示例
cleaned_data = df.loc[df['Quality'] > 0.8, ['ID', 'Value']]  # 篩選高質(zhì)量數(shù)據(jù)
cleaned_data.loc[:, 'Value'] *= 100  # 批量修改選中列的值

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Dataframe的行名及列名排序問題

    Dataframe的行名及列名排序問題

    這篇文章主要介紹了Dataframe的行名及列名排序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python itchat實現(xiàn)調(diào)用微信接口的第三方模塊方法

    python itchat實現(xiàn)調(diào)用微信接口的第三方模塊方法

    這篇文章主要介紹了python itchat實現(xiàn)調(diào)用微信接口的第三方模塊方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • Python動態(tài)配置管理Dynaconf的實現(xiàn)示例詳解

    Python動態(tài)配置管理Dynaconf的實現(xiàn)示例詳解

    這篇文章主要為大家介紹了Python動態(tài)配置管理Dynaconf實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Python基于opencv實現(xiàn)的人臉識別(適合初學者)

    Python基于opencv實現(xiàn)的人臉識別(適合初學者)

    OpenCV是一個基于BSD許可開源發(fā)行的跨平臺計算機視覺庫,下面這篇文章主要給大家介紹了關于Python基于opencv實現(xiàn)的人臉識別,文中通過實例代碼介紹的非常詳細,本文的教程非常適合初學者,需要的朋友可以參考下
    2022-03-03
  • Python中的Xpath和lxml庫的使用詳解

    Python中的Xpath和lxml庫的使用詳解

    這篇文章主要介紹了Python中的Xpath和lxml庫的使用詳解,XPath即 XML路徑語言,它是一門在 XML 文檔中查找信息的語言,最初被用來搜尋 XML 文檔,同時它也適用于搜索 HTML 文檔,因此,在爬蟲過程中可以使用 XPath 來提取相應的數(shù)據(jù),需要的朋友可以參考下
    2023-12-12
  • 理解python中裝飾器的作用

    理解python中裝飾器的作用

    python裝飾器就是用于拓展原來函數(shù)功能的一種函數(shù),這個函數(shù)的特殊之處在于它的返回值也是一個函數(shù),使用python裝飾器的好處就是在不用更改原函數(shù)的代碼前提下給函數(shù)增加新的功能
    2021-07-07
  • Python中?*?號的用法總結

    Python中?*?號的用法總結

    Python中的?*號是一個特殊的符號,在其他編程語言中,它最廣為人知的用途就是作為乘法運算的符號,本文總結了Python中*號的所有用途,希望對大家有所幫助
    2023-11-11
  • python爬取微信公眾號文章的方法

    python爬取微信公眾號文章的方法

    這篇文章主要為大家詳細介紹了python爬取微信公眾號文章的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Python中OTSU算法的原理與實現(xiàn)詳解

    Python中OTSU算法的原理與實現(xiàn)詳解

    OTSU算法是大津展之提出的閾值分割方法,又叫最大類間方差法,本文主要為大家詳細介紹了OTSU算法的原理與Python實現(xiàn),感興趣的小伙伴可以了解下
    2023-12-12
  • Python批量獲取基金數(shù)據(jù)的方法步驟

    Python批量獲取基金數(shù)據(jù)的方法步驟

    這篇文章主要介紹了Python批量獲取基金數(shù)據(jù)的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03

最新評論

永年县| 苗栗市| 孝感市| 凯里市| 阳信县| 邵东县| 宁南县| 宁夏| 高淳县| 千阳县| 建昌县| 名山县| 兴义市| 海南省| 呼玛县| 江西省| 思茅市| 工布江达县| 邯郸市| 靖远县| 许昌市| 分宜县| 南岸区| 明溪县| 日照市| 垫江县| 南投市| 万安县| 来安县| 桑植县| 资阳市| 巴南区| 凤山市| 洪泽县| 个旧市| 芜湖县| 阳山县| 永春县| 肇东市| 奈曼旗| 如皋市|