下面我将详细讲解一下“Python Pandas中loc和iloc函数的基本用法示例”的完整攻略。
一、loc和iloc函数的基本概念
- loc:按标签索引行或列。使用它,我们可以通过行标或列标(任意一个或两个都可以)来获取行数据。loc函数的基本形式为
df.loc[row_index,col_index]
,其中,row_index
是行索引,col_index
是列索引。 - iloc:按位置索引行或列。使用它,我们根据行号或列号(任意一个或两个都可以)获取行数据。iloc函数的基本形式为
df.iloc[row_index,col_index]
,其中,row_index
是行索引,col_index
是列索引也可以用切片表示。
二、使用示例
示例一:使用loc获取行数据
假设我们有以下一份数据:
姓名 | 年龄 | 电话 | 邮箱 | |
---|---|---|---|---|
0 | 张三 | 20 | 123 | zhangsan@123.com |
1 | 李四 | 22 | 456 | lisi@456.com |
2 | 王五 | 24 | 789 | wangwu@qq.com |
3 | 赵六 | 26 | 246 | zhaoliu@gmail.com |
我们可以通过以下代码使用loc函数获取第1行、第3行和第4行的所有数据:
import pandas as pd
data = pd.DataFrame({'姓名':['张三','李四','王五','赵六'],
'年龄':[20,22,24,26],
'电话':['123','456','789','246'],
'邮箱':['zhangsan@123.com','lisi@456.com','wangwu@qq.com','zhaoliu@gmail.com']})
print(data.loc[[1,3,4], :])
输出结果如下:
姓名 年龄 电话 邮箱
1 李四 22 456 lisi@456.com
3 赵六 26 246 zhaoliu@gmail.com
该代码使用data.loc[[1,3,4], :]
获取了第1行、第3行和第4行的所有数据,其中[1,3,4]
代表行索引,:
代表获取该行的所有数据。
示例二:使用iloc获取列数据
假设我们仍然有以下一份数据:
姓名 | 年龄 | 电话 | 邮箱 | |
---|---|---|---|---|
0 | 张三 | 20 | 123 | zhangsan@123.com |
1 | 李四 | 22 | 456 | lisi@456.com |
2 | 王五 | 24 | 789 | wangwu@qq.com |
3 | 赵六 | 26 | 246 | zhaoliu@gmail.com |
我们可以通过以下代码使用iloc函数获取第1列、第2列和第4列的所有数据:
import pandas as pd
data = pd.DataFrame({'姓名':['张三','李四','王五','赵六'],
'年龄':[20,22,24,26],
'电话':['123','456','789','246'],
'邮箱':['zhangsan@123.com','lisi@456.com','wangwu@qq.com','zhaoliu@gmail.com']})
print(data.iloc[:, [1,2,4]])
输出结果如下:
年龄 电话 邮箱
0 20 123 zhangsan@123.com
1 22 456 lisi@456.com
2 24 789 wangwu@qq.com
3 26 246 zhaoliu@gmail.com
该代码使用data.iloc[:, [1,2,4]]
获取了第1列、第2列和第4列的所有数据,其中[:, [1,2,4]]
代表获取该列的所有数据。需要注意的是,在使用iloc函数时,需要使用列索引而非列名来获取列数据,因此第一列对应的是0而非姓名。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python Pandas中loc和iloc函数的基本用法示例 - Python技术站