本文主要是介绍python中dataframe的iloc和loc的使用区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- `.iloc` 和 `.loc` 的基本用法
- `.iloc`
- `.loc`
- 示例代码和解释
- 使用 `.iloc`
- 使用 `.loc`
- 总结
.iloc 和 .loc 的基本用法
.iloc
- 用于通过位置(整数位置)来选择数据。
iloc索引基于行和列的整数位置。
常用语法
data.iloc[i, j]:选择第i行第j列的元素,若索引下标从0开始,对应的是第i+1行第j+1列的元素。data.iloc[i, :]:选择第i行的所有列,若索引下标从0开始,对应的是第i+1行所有列的元素。data.iloc[:, j]:选择所有行的第j列,若索引下标从0开始,对应的是所有行第j+1列的元素。data.iloc[i:j, k:l]:==选择从第i行到第j行(不包括第j行)和从第k列到第l列(不包括第l列)的数据。左闭右开区间的选择,若索引下标从0开始,对应的是第i+1行到第j+1行(不包括第j+1行)和从第k+1列到第l+1列(不包括第l+1列)的数据
.loc
- 用于通过标签(行和列的标签名)来选择数据。
loc索引基于行和列的标签。
常用语法:
data.loc[row_label, col_label]:选择指定行标签和列标签的数据。data.loc[row_label, :]:选择指定行标签的所有列。data.loc[:, col_label]:选择所有行的指定列标签。data.loc[row_labels, col_labels]:选择多个行标签和列标签的数据。
示例代码和解释
首先,创建一个示例 DataFrame:index表示的是行索引,columns是列索引
import pandas as pd# 创建一个示例 DataFrame
data = pd.DataFrame({'A': [1, 2, 3],'B': [4, 5, 6],'C': [7, 8, 9]
}, index=['row1', 'row2', 'row3'])print(data)
输出:
A B C
row1 1 4 7
row2 2 5 8
row3 3 6 9
使用 .iloc
-
选择特定元素:索引下标都是从0开始
element = data.iloc[1, 2] print(element)输出:
8选择第二行第三列的元素(位置索引是从0开始的)。
-
选择特定行:
row_data = data.iloc[1, :] print(row_data)输出:
A 2 B 5 C 8 Name: row2, dtype: int64选择第二行的所有列数据。也就是第二行的所有数据
-
选择特定列:
col_data = data.iloc[:, 1] print(col_data)输出:
row1 4 row2 5 row3 6 Name: B, dtype: int64选择所有行的第二列数据。
-
选择行和列的范围:
subset = data.iloc[0:2, 1:3] print(subset)输出:
B C row1 4 7 row2 5 8选择第一行到第二行(不包括第三行)和第二列到第三列(不包括第四列)的数据。
使用 .loc
-
选择特定元素:
element = data.loc['row2', 'C'] print(element)输出:
8选择行标签为
row2和列标签为C的元素。 -
选择特定行:
row_data = data.loc['row2', :] print(row_data)输出:
A 2 B 5 C 8 Name: row2, dtype: int64选择行标签为
row2的所有列数据。 -
选择特定列:
col_data = data.loc[:, 'B'] print(col_data)输出:
row1 4 row2 5 row3 6 Name: B, dtype: int64选择所有行的列标签为
B的数据。 -
选择行和列的范围:
subset = data.loc['row1':'row2', 'B':'C'] print(subset)输出:
B C row1 4 7 row2 5 8选择从
row1到row2行(包括row2)和从B列到C列的数据(包括C)。
总结
.iloc使用整数位置索引来选择数据,适合基于位置的操作。.loc使用标签来选择数据,适合基于标签的操作。
这篇关于python中dataframe的iloc和loc的使用区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!