前言
使用pandas进行数据分析的时候,我们经常需要对DataFrame的行或者列进行索引。使用pandas进行索引的方法主要有三种:直接使用行或者列标签、loc函数和iloc函数。
举个简单的例子:
1
2
3
4
|
import numpy as np
import pandas as pd
df = pd.DataFrame({ "Fruits" :[ "apple" , "pear" , "banana" , "watermelon" ], "Price" :[ 1.2 , 1.4 , 2.3 , 4.2 ], "Sales" :[ 11 , 45 , 25 , 16 ]})
df
|
生成的DataFrame如下所示:
Fruits | Price | Sales | |
0 | apple | 1.2 | 11 |
1 | pear | 1.4 | 45 |
2 | banana | 2.3 | 25 |
3 | watermelon | 4.2 | 16 |
1、直接使用行或者列标签
假如我们要选取df的Fruits和Price两列,则
1
|
df[[ 'Fruits' , 'Price' ]]
|
Fruits | Price | |
0 | apple | 1.2 |
1 | pear | 1.4 |
2 | banana | 2.3 |
3 | watermelon | 4.2 |
假如我们要选取df的第2、3行,则
1
|
df[ 2 : 4 ]
|
Fruits | Price | Sales | |
2 | banana | 2.3 | 25 |
3 | watermelon | 4.2 | 16 |
2、loc函数
loc函数是基于行标签和列标签进行索引的,其基本用法为:
1
|
DataFrame.loc[行标签,列标签]
|
假如我们要选取df的第2、3行和Price、Sales对应的列,则
1
|
df[ 2 : 3 , 'Price' : 'Sales' ]
|
Price | Sales | |
2 | 2.3 | 25 |
3 | 4.2 | 16 |
假如我们要选取所有的行和Fruits、Sales对应的列,则
1
|
df.loc[:,[ 'Fruits' , 'Sales' ]]
|
Fruits | Sales | |
0 | apple | 11 |
1 | pear | 45 |
2 | banana | 25 |
3 | watermelon | 16 |
3、iloc函数
iloc函数是基于行和列的位置进行索引的,索引值从0开始,并且得到的结果不包括最后一个位置的值,其基本用法为:
1
|
DataFrame.iloc[行位置,列位置]
|
假如我们要选取df的第2、3行和第1、2列,则
1
|
df.iloc[ 2 : 4 , 1 : 3 ]
|
Price | Sales | |
2 | 2.3 | 25 |
3 | 4.2 | 16 |
假如我们要选取所有的行和第0、2列,则
1
|
df.iloc[:,[ 0 , 2 ]]
|
Fruits | Sales | |
0 | apple | 11 |
1 | pear | 45 |
2 | banana | 25 |
3 | watermelon | 16 |
总结
到此这篇关于python pandas中索引函数loc和iloc区别的文章就介绍到这了,更多相关pandas索引函数loc和iloc内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/hanyunkaka/article/details/120470899